コードで使用する IE 資格情報を取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/752108

  •  09-09-2019
  •  | 
  •  

質問

現在、IEプラグインを開発中です。 SpicIE.

このプラグインは、MSDN に投稿された例と同様の Web スクレイピングを実行します。

WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");

request.Credentials = CredentialCache.DefaultCredentials;

HttpWebResponse response = (HttpWebResponse)request.GetResponse ();

Stream dataStream = response.GetResponseStream ();

StreamReader reader = new StreamReader (dataStream);

string responseFromServer = reader.ReadToEnd ();

reader.Close ();
dataStream.Close ();
response.Close ();

ただし、このコードを実行すると、次のエラー メッセージが表示されます。

リモート サーバーがエラーを返しました:(407) プロキシ認証が必要です。

私は現在プロキシサーバーの背後で作業しており、 ネットワーク資格情報 ネットワーク資格情報を手動で提供するクラス

request.Credentials = new System.Net.NetworkCredential("name", "password", "domain");

しかし、私はまだ同じエラーを受け取ります。

たとえ問題が解決したとしても、プラグインの一部のユーザーはプロキシ サーバーの背後にいることがわかっています。

IE 資格情報を取得し、それをコード内で使用して request.Credentials に割り当てる方法を知りたいです。.

おそらく次のようなものでしょう:

request.Credentials = IE.DefaultCredentials;
役に立ちましたか?

解決

の資格情報を設定しています。 サイト, ただし、認証情報が必要です。 プロキシ.

セット request.Proxy.Credentials.

(また、使用します using 応答/ストリーム/リーダーのステートメントを手動で閉じるのではなく、手動で閉じる必要があります。そうしないと、例外がスローされたときにステートメントがリークします)。

編集:たとえば、プロキシにもデフォルトの資格情報を使用するには、次のようにします。

request.Proxy.Credentials = CredentialCache.DefaultCredentials;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top