以下のコードを使用してFTPサイトからファイルを取得する。私のコンピュータでは動作しますが、別のコンピュータでHTMLコードを実行するとHTMLコードが返されます(ブラウザでFTPにアクセスするとHTMLがWebページのコードであることがわかります)。どうしましたか?FTPからファイルリストを読み込むのにC#(FtpWebResponse)を使用したいが、HTMLを返す
public String GetFilesAsString(string folder,string fileExtension)
{
StringBuilder result = new StringBuilder();
FtpWebRequest reqFTP;
try
{
String ftpserver = ftp + folder+"/";
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpserver));
reqFTP.UsePassive = false;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(username, password);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
string line = "";
while (reader.Peek()>-1)
{
line = reader.ReadLine();
Console.WriteLine(line);//**********HTML was wrote out here*************
}
if (result.ToString().LastIndexOf('\n') >= 0)
result.Remove(result.ToString().LastIndexOf('\n'), 1);
reader.Close();
response.Close();
return result.ToString();
}
catch (Exception ex)
{
}
return null;
}
ビンゴ! Thorstenの答えで修正されました。 私はreqFTP.Proxy = nullを使用します。 GlobalProxySelectionの代わりに、それが廃止されたことを知らせるためです。ありがとう! – Alan