[英]Use a proxy with webBrowser control C#/.net 3.5
我需要一些已經使用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();
也許這個鏈接很有用:
我測試了代碼,它似乎工作。 但有兩點很重要:
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();
}
我過去有一個類似的問題 。 該問題的已接受答案建議您查看此Microsoft知識庫文章:
“ 如何以編程方式在Internet Explorer下查詢和設置代理設置 ”
基本上,你必須做一些P / Invoke並調用一些WinInet DLL函數。 雖然我從未在現實世界的項目中嘗試過,但我強烈認為這是可行的方法。
只是為了讓大家都知道,這家伙已經發布了5個問題,所有人都提出同樣的問題,並且基於他的第一個問題以及他被擊倒的嚴重程度,似乎他正試圖犯下某種類型的網絡犯罪。 現在,基於我對他的智力的閱讀,他可能很快就會進入監獄,但我只是想我們可以通過讓他知道不可能為服務提供虛構的IP地址來拯救他。您正在與之溝通(因為如果您這樣做,該服務將無法與您聯系以提供回復)。 這是他的娛樂清單:
https://stackoverflow.com/questions/12045317/how-to-hide-my-ip-address-c-net-3-5
使用帶有webBrowser控件C#/。net 3.5的代理
現在,我認為他創建了一個新的用戶名user1563019,下面有更多的代理/設置問題: https ://stackoverflow.com/users/1563019/user1563019
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.