如何在C#WebBrowser控件/組件中實現代理。C#WebBrowser控制代理
我想知道的是如何實現代理,因此我的C#webBrowser控件在運行時使用此代理進行瀏覽。
我也不想通過註冊表來更改代理...因爲它會影響我的正常瀏覽...
如何在C#WebBrowser控件/組件中實現代理。C#WebBrowser控制代理
我想知道的是如何實現代理,因此我的C#webBrowser控件在運行時使用此代理進行瀏覽。
我也不想通過註冊表來更改代理...因爲它會影響我的正常瀏覽...
private Uri currentUri;
private void Form1_Load(object sender, EventArgs e)
{
currentUri = new Uri(@"http://www.stackoverflow.com");
HttpWebRequest myRequest = (HttpWebRequest) HttpWebRequest.Create("http://www.stackoverflow.com");
//WebProxy myProxy = new WebProxy("208.52.92.160:80");
//myRequest.Proxy = myProxy;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
webBrowser1.DocumentStream = myResponse.GetResponseStream();
webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}
void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.AbsolutePath != "blank")
{
currentUri = new Uri(currentUri, e.Url.AbsolutePath);
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(currentUri);
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
webBrowser1.DocumentStream = myResponse.GetResponseStream();
e.Cancel = true;
}
}
你必須與它一點點打,但我能瀏覽網站。
或者你可以嘗試修改WebRequest.DefaultWebProxy設置: http://msdn.microsoft.com/en-us/library/system.net.webrequest.defaultwebproxy.aspx
然後呢?攔截所有導航事件以再次使用您自己的'HttpWebRequest'? – 2012-01-27 16:27:46
我不認爲你可以設置WebRequest.DefaultWebProxy,但你可以自己攔截它並創建你自己的導航。 – 2012-01-27 17:22:17
謝謝你...對我很有用 – xhah730 2012-01-29 20:25:29
的可能重複[如何設置WebBrowser控件的代理,而不影響系統/ IE代理(http://stackoverflow.com/questions/2499568 /如何設置代理爲Web瀏覽器控制,不影響系統,即代理) – 2012-01-29 04:42:34