使用WebRequest错误首次通过代理访问IExplorer

时间:2016-05-21 20:59:55

标签: c# .net proxy webrequest

我正试图通过使用WebRequest首次使用代理访问Internet Explorer ...

该应用程序背后的想法是,您可以通过IExplorer使用您在文本框中输入的代理访问网站(如下所示)

我尝试了我的方法,但它连接到网站一小段时间并显示我的正常IP(不是代理的)然后崩溃并且它给了我这个错误(下面)

不确定是什么导致它和/或如何修复它。我想也许有经验的人可能比我更好地理解这个,因为它是我第一次使用C#中的代理

enter image description here

enter image description here

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        webBrowser1.Navigate(browserNavigationTxtBox.Text);
        var request = (HttpWebRequest)WebRequest.Create("http://www.whatsmyip.org/");
        var myproxy = new WebProxy(proxyBox.Text, false);
        request.Proxy = myproxy;
        request.Method = "GET";
        var response = (HttpWebResponse)request.GetResponse();
    }

    private void Start_Click(object sender, EventArgs e)
    {
        webBrowser1.Navigate(browserNavigationTxtBox.Text);
    }
}

}

1 个答案:

答案 0 :(得分:1)

虽然您可以通过编程方式更改注册表值以设置代理

  

HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ProxyServer   HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ProxyOverride

我会使用FiddlerCore 设置我的代理以更好地控制发送和接收的内容(以及能够使用socks代理)。

MyProxy.Start();
webBrowser1.Navigate(url);
public class MyProxy
{
    public static void Start()
    {
        Fiddler.FiddlerApplication.BeforeRequest += FiddlerApplication_BeforeRequest;
        Fiddler.FiddlerApplication.Startup(8888, true, true);
    }

    static void FiddlerApplication_BeforeRequest(Fiddler.Session oSession)
    {
        oSession["X-OverrideGateway"] = "94.76.117.14:8080"; // <-- Your Http Proxy
        //oSession["x-OverrideGateway"] = "socks=ip:port"; //For socks proxy 
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.WriteLine(oSession.fullUrl);
    }

    public static void Stop()
    {
        Fiddler.FiddlerApplication.Shutdown();
    }
}