0

サーバー上のファイルのリストを取得しようとしています

コード:

string ftpUserID = "user";
string ftpPassword = "password";
string ftpServerIP = "192.###.###.###";
string remoteDirectory = @"\Update\UpdateTest";
string localDirectory = @"C:\Updates";

string[] downloadFiles;
StringBuilder result = new StringBuilder();
WebResponse response = null;
StreamReader reader = null;

FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" +      remoteDirectory));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
reqFTP.EnableSsl = true;
reqFTP.Proxy = null;
reqFTP.KeepAlive = true;
reqFTP.UsePassive = true;
response = reqFTP.GetResponse();
reader = new StreamReader(response.GetResponseStream());

string line = reader.ReadLine();
while (line != null)
{
    result.Append(line);
    result.Append("\n");
    line = reader.ReadLine();
}
result.Remove(result.ToString().LastIndexOf('\n'), 1);
return result.ToString().Split('\n');

「リモート サーバーに接続できません」という WebException エラーが発生し続けます

これは のエラーの結果です:

 FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" +      remoteDirectory));

reqFTP.ContentおよびreqFTP.PreAuthenticate部分でSystem.NotSuportedExceptionをスローしていると思います。

4

1 に答える 1

0

コードには表示されていませんが、使用していると述べていますPreAuthenticate。これは FTP ではサポートされていません。

このプロパティは、 msdnPreAuthenticateに従って、WebRequest および WebResponse クラスの他の実装との互換性のためにのみ提供されています。

于 2013-12-05T13:01:10.703 に答える