我正在从我们的 FTP 服务器检索一个文件,然后将该文件放入内存并通过 HTTPS 传递给客户端。我的一切工作完美无缺。但是,如果我打开 SSL,我会收到以下错误:
WebException:远程服务器返回错误:(500) 语法错误,命令无法识别。]
System.Net.FtpWebRequest.SyncRequestCallback(Object obj) +330
System.Net.FtpWebRequest.RequestCallback(Object obj) +23
System.Net.CommandStream .InvokeRequestCallback(Object obj) +17
System.Net.CommandStream.Abort(Exception e) +168
System.Net.FtpWebRequest.FinishRequestStage(RequestStage 阶段) +454
System.Net.FtpWebRequest.GetResponse() +1398
这是我的代码:
FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(@"ftp://" + serverName + ":21/" + fileName);
ftp.Credentials = new NetworkCredential(userName, password);
ftp.UseBinary = true;
ftp.EnableSsl = true;
ftp.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = null;
response = (FtpWebResponse)ftp.GetResponse();
如果我将 ftp.EnableSsl 设置为 false 或者只是将其注释掉,它就可以正常工作。关于我做错了什么的任何想法。请记住,我在使用 IIS 内置 FTP 服务器的 Windows XP Professional 机器上。我正在从 IIS 调试,并且在https://localhost/projectNameHere/default.aspx下运行。