0

HTTP リクエストを送信しようとしていますが、プロキシの背後にあります。以下のコードに示すように、プロキシを自動構成しようとしていますが、応答として 404 not found が返されます。プロキシ構成に関する何かが正しくないと推測しています。何か案は?

WebProxy proxy = new WebProxy("http://companyproxy.com/proxy.pac");   
proxy.UseDefaultCredentials = true;  
WebRequest request = WebRequest.Create
("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");
request.Proxy = proxy;
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse();
response.Close();

プロキシのデフォルトの資格情報と自分のネットワーク資格情報を使用しようとしましたが、同じエラーが発生します。

編集:設定>接続> LANで構成されたIEプロキシを持つこのアプローチを試しました

WebRequest request = WebRequest.Create
("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");
request.Proxy = WebRequest.GetSystemWebProxy();
request.Credentials = CredentialCache.DefaultCredentials; ;
WebResponse response = request.GetResponse();

これで、proxy (407) Proxy Authentication Required が表示されます。

4

3 に答える 3

1

最後に、次のように機能しました。

IWebProxy myProxy = WebRequest.DefaultWebProxy;
myProxy.Credentials = new NetworkCredential(username, password);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestURL);          
request.Proxy = myProxy;
于 2013-09-27T13:31:21.950 に答える
0

これが機能するかどうかを確認してください。

WebRequest request = WebRequest.Create("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");

WebResponse response = request.GetResponse();
response.Close();

私もプロキシの背後に住んでいます。この上記のコードは私にとってはうまく機能しています。

これを見ましたか? C# のプロキシ基本認証: HTTP 407 エラー

于 2013-09-26T08:31:50.533 に答える
0

プロキシ設定がIEに挿入され、プログラムがプロキシ設定を渡すことができるユーザーの下で実行されている場合は、変更するだけで問題ありません

request.Credentials = CredentialCache.DefaultCredentials;

request.Credentials = CredentialCache.DefaultNetworkCredentials;

これらは私が使用する唯一の2行です: request.UseDefaultCredentials = true; request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;

プロキシ サーバーの許可されていないユーザーまたは組み込みシステム アカウントでプログラムを実行している場合は、ユーザーが自分のプロキシ設定を挿入できる可能性を使用する必要があります。

よろしく、 コンドラ963

于 2016-05-12T08:17:32.533 に答える