我可以提前告诉你我的网址没问题。最近我们已经移动了我们的服务器应用程序,并且当前系统有一个很好的代理。
所以,我认为代理是问题,但不知道如何解决,最奇怪的是,使用 Filezilla 我可以登录 FTPServer,但使用我的 .Net 代码是不可能的,我试图更改为二进制,被动,手动指定代理...但没有成功。它总是在 GetResponse() 上崩溃。另一个有趣的想法是,当我不使用wilcard
(即*.csv
)时,响应是一个带有文件列表信息的 HTML。
我的代码:
FtpWebRequest listRequest = (FtpWebRequest)WebRequest.Create(
ftpDir == null ? Constants.FTPServer + (wildcard == null ? "" : "/" + wildcard) : Constants.MasternautFTPServer + "/" + ftpDir
+ (wildcard == null ? "" : "/" + wildcard)
);
listRequest.Method = WebRequestMethods.Ftp.ListDirectory;
listRequest.UseBinary = true;
listRequest.UsePassive = true;
listRequest.Credentials = Credentials;
listRequest.Proxy = Proxy;
FtpWebResponse listResponse = (FtpWebResponse)listRequest.GetResponse();
Stream listResponseStream = listResponse.GetResponseStream();
StreamReader listreader = new StreamReader(listResponseStream, Encoding.UTF7);
string listOfFilesStr = listreader.ReadToEnd();
ret = new List<string>(listOfFilesStr.Split(new[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries));
ret.Remove(".");
ret.Remove("..");
ret.Remove(".ftpquota");
listreader.Close();
listResponse.Close();
方法在哪里Proxy
得到WebRequest.GetSystemWebProxy();
所以,现在我正在研究如何解决这个问题……有人能帮忙吗???