.Net FTPS连接在发送后超时';CCC&x27;命令
在过去的几天里,我一直在为一个FTPS服务器苦苦挣扎,这个服务器需要我试图通过.Net访问的“CCC”命令 我在用AlexFTPS图书馆。我可以连接和协商身份验证TLS,我可以更改目录,但当我试图列出目录或下载文件时,服务器会请求“CCC”命令。当我发送“CCC”命令时,我会得到一个“200 CCC上下文启用”的回复,但当我收到服务器超时异常时,我将无法发送任何其他内容 我做了进一步的测试:.Net FTPS连接在发送后超时';CCC&x27;命令,ftp,ftps,ccc,Ftp,Ftps,Ccc,在过去的几天里,我一直在为一个FTPS服务器苦苦挣扎,这个服务器需要我试图通过.Net访问的“CCC”命令 我在用AlexFTPS图书馆。我可以连接和协商身份验证TLS,我可以更改目录,但当我试图列出目录或下载文件时,服务器会请求“CCC”命令。当我发送“CCC”命令时,我会得到一个“200 CCC上下文启用”的回复,但当我收到服务器超时异常时,我将无法发送任何其他内容 我做了进一步的测试: WS_FTP:如果我选中“SSL身份验证后使用未加密的命令通道”选项,则该选项有效 Filezilla
- WS_FTP:如果我选中“SSL身份验证后使用未加密的命令通道”选项,则该选项有效
- Filezilla:即使我将“CCC”添加为登录后命令,也不起作用
- :工作正常,但不是开源的
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
谢谢 CCC(“清除命令通道”)是一个特殊命令,它将连接从SSL(从
AUTH TLS开始)降级为未加密。因此,仅仅将其声明为在已建立的控制连接上发送的自定义命令是不够的,FTPS库必须对其进行类似于AUTH TLS
的处理,以便在命令完成后TLS降级。好的,非常感谢您的帮助!所以我想我不能用这个API处理这个问题。。。