私のURLは問題ないことを事前にお伝えできます。最近、サーバー アプリケーションを移動しましたが、現在のシステムには優れたプロキシがあります。
したがって、プロキシが問題であると思いますが、解決方法がわかりません。最も奇妙なことは、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();
だから、今私はこれを解決する方法を調査しています...誰でも助けてもらえますか???