我需要一些已经使用webBrowser控件和代理的人的帮助。
我需要的是以下内容。
1 - 为webBrowser控件设置代理。 2 - 加载特定站点。 3 - 在站点上执行例程。 4 - 为webBrowser控件设置不同的代理。 5 - 加载另一个站点。 6 - 从第3点开始执行相同的例程。
流程以这种方式保持,从代理列表循环,直到所有代理都被使用。
但是。我在应用程序方面遇到了一些问题。做到这一点:
1 - 我正在使用附加的代码将代理设置到webBrowser控件中,但在执行期间似乎只工作一次,当我在循环中再次调用它时它只是不起作用,我可以得到了解原因。
2 - 我在确定页面何时完全加载时遇到问题,我的意思是,当我设置第一个站点加载时,我需要程序等待它完成加载,然后执行例程在它上面,并继续这个过程。
希望有人能帮助我...
///我正在使用的函数-----------------------------
private void SetProxy(string Proxy)
{
MessageBox.Show("Setting :" + Proxy);
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(key, true);
RegKey.SetValue("ProxyServer", Proxy);
RegKey.SetValue("ProxyEnable", 1);
}
//应用程序逻辑--------------------------------------
SetProxy("190.97.219.38:80");
webBrowser1.Navigate("http://www.whatismyip.com/");
ExecuteRoutine();
SetProxy("187.93.77.235:80");
webBrowser1.Navigate("http://www.whatismyip.com/");
ExecuteRoutine();
SetProxy("109.235.49.243:80");
webBrowser1.Navigate("http://www.whatismyip.com/");
ExecuteRoutine();
答案 0 :(得分:6)
也许这个链接很有用:
我测试了代码,它似乎工作。但有两点很重要:
答案 1 :(得分:3)
1-我猜webBrowser控件仅在创建代理时检查代理,因此在设置代理后创建一个新控件
2-导航不是阻止调用,并且不会等到它加载的页面,使用webBrowser.DocumentCompleted
事件
下面的代码应该可以使用(未测试)
void Exec(string proxy,string url)
{
var th = new Thread(() =>
{
SetProxy(proxy);
using (WebBrowser wb = new WebBrowser())
{
wb.DocumentCompleted += (sndr, e) =>
{
ExecuteRoutine();
Application.ExitThread();
};
wb.Navigate(url);
Application.Run();
}
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
th.Join();
}
答案 2 :(得分:0)
我过去有点similar question。该问题的accepted answer建议您查看此Microsoft知识库文章:
“How to programmatically query and set proxy settings under Internet Explorer”
基本上,你必须做一些P / Invoke并调用一些WinInet DLL函数。虽然我从未在现实世界的项目中尝试过,但我强烈认为这是可行的方法。
答案 3 :(得分:-4)
只是为了让大家都知道,这家伙发了5个问题,都问了同样的问题,根据他的第一个问题以及他被击倒的严重程度,似乎他正试图犯下某种类型的网络犯罪。现在,基于我对他的智力的阅读,他可能很快就会进入监狱,但我只是想我们可以通过让他知道不可能为服务提供虚构的IP地址来拯救他。您正在与之沟通(因为如果您这样做,该服务将无法与您联系以提供回复)。这是他的娱乐清单:
https://stackoverflow.com/questions/12045317/how-to-hide-my-ip-address-c-net-3-5
Use a proxy with webBrowser control C#/.net 3.5
how to pass ip-address to webBrowser control
how to use custom ip address to browse a web page c#/.net
现在,我认为他创建了一个新用户名user5063019,下面有更多代理/设置问题: https://stackoverflow.com/users/1563019/user1563019