0

我可以提前告诉你我的网址没问题。最近我们已经移动了我们的服务器应用程序,并且当前系统有一个很好的代理。

所以,我认为代理是问题,但不知道如何解决,最奇怪的是,使用 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();

所以,现在我正在研究如何解决这个问题……有人能帮忙吗???

4

0 回答 0