2

この小さなコードを使用して、リモート Uri にアクセスしています。

Uri uri = "http://www.myurl.com";
WebRequest wreq = WebRequest.Create(uri);
((HttpWebRequest)wreq).UserAgent = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1";
wreq.Proxy = WebRequest.DefaultWebProxy;

これは、すべての「http」Uri に対して完全に機能します。ただし、次の種類の Uri (https) に切り替えると、認証を要求するプロキシ エラー 407 が発生します (例外のログは、資格情報が正しくないことを示しています)。どうすればこれを処理できるか考えていますか?

Uri uri = "https://www.myurl.com";
WebRequest wreq = WebRequest.Create(uri);
((HttpWebRequest)wreq).UserAgent = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1";
wreq.Proxy = WebRequest.DefaultWebProxy;

よろしくお願いします、

Al_th

4

1 に答える 1

1

これを試して

private string GetPageSource(string url)
{
    string htmlSource = string.Empty;
    try
    {
        System.Net.WebProxy myProxy = new System.Net.WebProxy("Proxy IP", 8080);
        using (System.Net.WebClient client = new System.Net.WebClient())
        {
            client.Proxy = myProxy;
            client.Proxy.Credentials = new System.Net.NetworkCredential("username", "password");
            htmlSource = client.DownloadString(url);
        }
    }
    catch (WebException ex)
    {
        // log any exceptions
    }
    return htmlSource;
}
于 2012-08-14T08:45:39.690 に答える