現在書いている小さなコードに苦労しています。アプリケーションは 1 日に 1 回実行され、ftp サーバーからすべてのファイルをダウンロードすることになっています。私の問題は次のとおりです。
理論的には、ディレクトリ コンテンツをリストするルーチンは問題なく実行され、すべてのファイルをチェックしてリストに保存しますが、実際には 2 つのエラーがあります。
- リストはhtml形式です
- ファイル名と拡張子だけが必要です
コード
string localPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
List<string> FtpListing = new List<string>();
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Properties.Settings.Default.FtpUrl);
//request.Proxy = GlobalProxySelection.GetEmptyWebProxy();
request.Credentials = new NetworkCredential(Properties.Settings.Default.FtpUsername, Properties.Settings.Default.FtpPassword);
request.Method = WebRequestMethods.Ftp.ListDirectory;
using (StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream()))
{
string fileName = streamReader.ReadLine();
while (fileName != null)
{
FtpListing.Add(fileName);
fileName = streamReader.ReadLine();
}
}
プロキシがないとhtmlが返され、プロキシステートメントのコメントが解除され、The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
エラーが発生します。
ここで私はどこに失敗していますか?
/edit: これはリストのスクリーンショットです。ここにはすべてのファイルがリストされているはずですが、代わりに完全な html ファイルが保存されています。