4

winformsアプリケーションからURLを開こうとすると、「407プロキシ認証が必要です」というエラーが発生します。自分のマシンのIISに展開されたサンプルアプリケーションを開くことができます。しかし、他のURLにアクセスしようとすると、このエラーが発生します。これがソースコードです。何か提案をお願いします。

string url = "http://google.co.in";


HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;
request.Method = "POST";

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

Console.WriteLine(response.StatusDescription);

Stream dataStream = response.GetResponseStream();

StreamReader reader = new StreamReader(dataStream);

string responseFromServer = reader.ReadToEnd();

Console.WriteLine(responseFromServer);
MessageBox.Show(responseFromServer);

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

3 に答える 3

2

これは、システム設定で設定されたプロキシを使用するには、ログインする必要があることを示しています。お使いのブラウザで動作する場合は、おそらく過去に動作したことがあります。システムのネットワーク設定でプロキシを無効にするか、適切なヘッダーを追加してプロキシに対して認証します。

于 2013-01-21T08:43:53.517 に答える
2

これを試してください、それは私のために働いた

string url = "http://google.co.in"; 
IWebProxy proxy = new WebProxy("your proxy server address", port number ); // port number is of type integer 
        proxy.Credentials = new NetworkCredential("your user name", "your password");

        try
        {
                WebClient client = new WebClient();
                client.Proxy = proxy;

                string resp = client.DownloadString(url);
                // more processing code 
                }
            }
        }
        catch (WebException ex)
        {
            MessageBox.Show(ex.ToString()); 
        }
    }
于 2013-06-27T12:23:03.090 に答える
0
IWebProxy proxy = new WebProxy("proxy address", port number); 
proxy.Credentials = new NetworkCredential("username", "password");

using (var webClient = new System.Net.WebClient())
{
    webClient.Proxy = proxy;

    webClient.DownloadString("url");

}
于 2014-06-18T10:24:26.940 に答える