如何在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
吗? - Edward ThomsonDocument.GetElementById("submit").InvokeMember("click")
时,它无法加载下一页。 currentUri
变量设置为空白,屏幕只显示白色页面。有没有一种方法可以捕获从单击按钮产生的流? - Sean Perryman