如何通过SSL创建FtpWebRequest?

| 我正在尝试建立到远程服务器的连接以上传文件,该连接需要通过SSL进行连接,并且路由器两端都只有一堆端口可用。连接似乎成功,但是ѭ0超时。检查跟踪日志后,以下行似乎可疑:
System.Net Information: 0 : [7144] FtpControlStream#33675143 - Created connection from [myIP]:64230 to [theirIP]:990.
尽管它说已创建连接,但我知道端口64230尚未打开,这就是为什么它会失败。那么是否可以指定从哪个端口创建本地连接?还是我想念其他东西? [编辑]: 我在本地计算机上的IIS上设置了FTP站点进行测试,以查看可能出了什么问题,但是我遇到了同样的问题。有趣的是,除了990之外,我几乎可以使用相同的设置在任何端口上进行连接。现在我可以排除防火墙,这似乎不是问题。还有其他猜测吗?这是示例代码:
string fileName = \"file.pdf\";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(\"ftp://[host]:990/file.pdf\");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.EnableSsl = true;
request.UsePassive = true;
ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertifications;
request.Credentials = new NetworkCredential(\"[host]|[username]\", \"[password]\");
Stream requestStream = request.GetRequestStream();
FileStream stream = File.OpenRead(fileName);
const int bufferLength = 1024;
byte[] buffer = new byte[bufferLength];
int count = 0;
int readBytes = 0;
do
{
    readBytes = stream.Read(buffer, 0, bufferLength);
    requestStream.Write(buffer, 0, readBytes);
    count += readBytes;
}
while (readBytes != 0);

stream.Close();
requestStream.Close();

Console.WriteLine(\"Upload complete\");
    
已邀请:
您的连接字符串不应该是:
ftps://[host]:990/file.pdf
我也知道您说过可以排除防火墙,但是FTPS常常令人头疼,也许此serverfault答案可能有用: 使用FTPS时需要打开哪些防火墙端口?     

要回复问题请先登录注册