当前位置: 首页 > 知识库问答 >
问题:

...Net FTPS连接在发送CCC命令后超时

萧萧迟
2023-03-14

在过去的几天里,我一直在为FTPS服务器苦苦挣扎,该服务器需要我试图通过的“CCC”命令。网

我正在使用AlexFTPS库。我能够连接和协商AUTH TLS,我能够改变目录,但当我试图列出目录或下载文件时,服务器要求“CCC”命令。当我发送“CCC”命令时,我得到了“200 CCC上下文启用”的回复,但当我得到服务器超时异常时,我不能发送任何其他内容。

我做了进一步的测试:

  • WS_FTP:如果我选中“SSL身份验证后使用未加密的命令通道”选项,则该选项有效

任何帮助都将不胜感激。。。对不起,我不流利。。。

这是我的密码:

    Using Client As New AlexPilotti.FTPS.Client.FTPSClient

        AddHandler Client.LogCommand, Sub(sender As Object, args As AlexPilotti.FTPS.Common.LogCommandEventArgs)
                                          Console.WriteLine(args.CommandText)
                                      End Sub

        AddHandler Client.LogServerReply, Sub(sender As Object, args As AlexPilotti.FTPS.Common.LogServerReplyEventArgs)
                                              Console.WriteLine(args.ServerReply)
                                          End Sub

        Dim cred = New Net.NetworkCredential("login", "password")
        Client.Connect("ftps.server.com", cred, AlexPilotti.FTPS.Client.ESSLSupportMode.CredentialsRequired)

        Client.SendCustomCommand("SYST")
        Client.SendCustomCommand("PBSZ 0")
        Client.SendCustomCommand("PROT P")
        Client.SendCustomCommand("FEAT")
        Client.SendCustomCommand("PWD")
        Client.SendCustomCommand("TYPE A")
        Client.SendCustomCommand("PASV")
        Client.SendCustomCommand("CCC")
        Client.SendCustomCommand("LIST")

        Console.ReadKey()

    End Using

谢谢

共有1个答案

邵兴庆
2023-03-14

CCC(“清除命令通道”)是一个特殊命令,它将连接从SSL(以AUTH TLS开始)降级回未加密状态。因此,仅将其声明为在已建立的控制连接上发送的自定义命令是不够的,它必须由FTPS库进行类似于AUTH TLS的处理,以便在命令完成后发生TLS降级。

 类似资料:
  • 我需要发送500推送通知每秒通过gcm服务。不幸的是,与chrome49不同,我必须为每个chrome50客户加密消息,加密密钥显示在请求头中。发送超过5000条消息后,我从https://android.googleapis.com/gcm/send收到超时和拒绝连接,并停止工作一段时间,然后定期正常工作 在线程中运行的Post请求 异常:连接被拒绝 异常:与https://android.go

  • 主要内容:Redis连接命令,连接命令应用Redis 连接命令是主要用于验证 Redis 服务器的连接状态,比如验证客户端与 Redis 服务器是否连接成功,以及检查服务器运行状态,以及是否断开当前连接等。 我们知道,只有当客户端与服务器正常连接后才能够实现彼此的交互、通信。Redis 通过“Redis序列化协议”(简称“RESP”),实现客户端与服务端之间的连接通信,该协议主要包括两个部分:网络模型和序列化协议。 网络模型主要负责数据交

  • 问题内容: Infile1: Infile2: 我如何使用unix join命令加入这些文件以获取以下输出: Dogbanes答案有效,但是…当我在此文件上应用Dogbanes答案时: 和这个: 他们不加入: 第二种情况是制表符分隔的,所以我用 问题答案: 首先两个文件。然后使用联接两个文件的第一个字段。如果要删除空间并转换为,则还需要通过管道传递输出。如下所示:

  • 问题内容: Hay Guys,我是Android的新手,但这里是我想要做的。 我希望能够使用给定的IP和PORT打开到服务器的连接,然后将命令发送到服务器并取回数据。 有什么想法我需要谷歌帮助吗?我知道如何在PHP中做到这一点(使用fputs,fgets和fsockopen)。 任何帮助将是无聊的。 谢谢 问题答案: 使用java.net类。以下是使用DatagramSockets的简单示例: 其

  • 本文向大家介绍PHP实现连接设备、通讯和发送命令的方法,包括了PHP实现连接设备、通讯和发送命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现连接设备、通讯和发送命令的方法。分享给大家供大家参考。具体如下: 开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正: 1. 采用php socket技术使用TCP/IP连接设备 参数$service_p