0
有没有人成功地使用.Net FTPWebRequest类来从NAT后面ftps到远程服务器?我的代码如下:NAT后面的FTPWebRequest(PASV,SSL)
Dim URI = "ftp://" & sRemoteDir & "/"
Dim ftp As FtpWebRequest = Nothing
Try
ServicePointManager.ServerCertificateValidationCallback = AddressOf ValidateServerCertificate
ftp = CType(FtpWebRequest.Create(URI), FtpWebRequest)
ftp.CachePolicy = New System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore)
ftp.Credentials = New NetworkCredential(sUID, sPw)
ftp.EnableSsl = True
ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails
Dim response As FtpWebResponse = CType(ftp.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream
Dim streamReader As New StreamReader(responseStream)
Dim sb As New StringBuilder()
sb.Append(streamReader.ReadToEnd)
streamReader.Close()
response.Close()
Return sb.ToString()
Catch ex As Exception
Return (ex.Message)
End Try
而且我得到以下异常:
“无法读取从 传输连接数据:连接 尝试失败,因为连接 方没有正确在 一段时间后回应,或者建立了 连接失败,因为连接的 主机未能响应。“
我知道代码是好的,因为如果机器不在NAT后面,它就可以工作。有任何想法吗?该机器具有静态IP,并且所有端口都可以打开指定主机的流量。
答案在这里http:// stackoverflow .COM /问题/ 3337673 /罐明确地-FTPS,通过-FileZilla的,但并非来自码 – IniTech 2010-11-05 15:47:52