ネットワークの外部にあるFTPサーバーにアクセスしてCSVファイルを取得しようとしています。これが私が使用しているコードです
string XMLPATH = @"\\server\file.csv";
FileWebRequest request = (FileWebRequest)FileWebRequest.Create(XMLPATH);
request.Credentials = new NetworkCredential("admin", "password");
FileWebResponse response = request.GetResponse() as FileWebResponse;
Stream stReader = response.GetResponseStream();
コンソールアプリでこれを実行すると、このメッセージが表示されます。
Logon failure: unknown user name or bad password
サーバーの場所に移動してWindowsエクスプローラーでファイルを取得すると、正常にログインしてファイルを取得できます。その後、私のアプリケーションはファイルに問題なくアクセスできます。この前のスタックスレッドを読みました
ログオンの失敗:不明なユーザー名または不正なパスワード?しかし、私は正しいユーザー名とパスワードを使用しています
そして、これを設定に追加しました
<system.net>
<defaultProxy useDefaultCredentials="false">
<proxy usesystemdefault="True"/>
</defaultProxy>
</system.net>
そして、それは何も変わりません。ドメインを資格情報コンストラクターに追加しようとしましたが、それでも何も修正されません。この接続はクライアントアプリケーションとして行う必要があるため、前の投稿は私のものとは少し異なります。どんな助けでも大歓迎です。ありがとう
編集
興味があったので、Windowsエクスプローラーとアプリケーションの要求の両方の呼び出しでWiresharkトレースを実行しました。エクスプローラーを使用する場合、適切な資格情報を使用してリクエストを送信します。ただし、アプリケーションを使用すると、マシンのログイン名(別名ユーザーID)としてリクエストが送信されます。リクエストでリクエストのクレデンシャルを送信すると、デフォルトでログインしているユーザーになるのはなぜですか?このために構成する必要がある設定はありますか?