1. 程式人生 > >C# winform的WebBrowser非常規程式設計(強烈推薦)

C# winform的WebBrowser非常規程式設計(強烈推薦)

http://www.cnblogs.com/sexintercourse/p/6063512.html

1、在WebBrowser中實現抓取301和302協議

在WebBrowser中抓取301和302協議目前官方提供的元件遠遠不夠,需要藉助HttpMonitor.dll。這個元件由美國人開發,目前專案宿主在

編譯過程中可以聯絡我。qq 840189859

用之前要求註冊元件。註冊過程需要嚴格按照下面的步驟

HttpMonitor.dll拷貝到C:\Windows\SysWOW64

複製程式碼
用管理員身份執行命令列,按照步驟輸入以下命令

命令1:

C:

命令2

 cd C:\Windows\SysWOW64

命令3  

regsvr32 HttpMonitor.dll
複製程式碼

如果顯示註冊成功就成功,否則會顯示錯誤,註冊失敗。

在註冊過程中,會遭到360安全衛士,防毒軟體等的阻攔,建議關閉。

2、在WebBrowser實現連結的篡改。

我們在WebBrowser有時候需要篡改連結,比如說我們需要在每個連結上都加上?id=12113221312312。沒有接觸過這類似的需求,網上這類的需求和實現方式都少。

我們來實現下

WebBrowser有Navigating事件

 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)

我們在Navicating事件上加如下程式碼

複製程式碼
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e){
string url = e.Url.ToString(); if (url.ToLower().Contains("id=")) { //可以隨意跳轉 e.Cancel = false; } else { e.Cancel
= true; string newUrtl = String.Format("{0}?{1}", url,"id=12113221312312"); webBrowser1.Navigate(newUrtl); }
}
複製程式碼

程式碼解釋

如果連線中沒有id=停止跳轉。加上id=12113221312312進行跳轉。

程式碼下載

另外請打擊檢視軟體截圖

抓取到的資料舉例:

複製程式碼
http://192.168.0.2:8080/sso/js/common_rosters.js
REQUEST HEADERS - 


RESPONSE HEADERS - 
HTTP/1.1 200 OK
ETag: W/"6612-1477622585251"
Content-Type: application/javascript
Content-Length: 6612
Last-Modified: Fri, 28 Oct 2016 02:43:05 GMT


CACHE PATH - C:\Users\malia_000\AppData\Local\Microsoft\Windows\INetCache\IE\1GGZZZMD\common_rosters[1].js
--------------
http://192.168.0.2:8080/sso/js/passwordstrength.js
REQUEST HEADERS - 


RESPONSE HEADERS - 
HTTP/1.1 200 OK
ETag: W/"3506-1477622585263"
Content-Type: application/javascript
Content-Length: 3506
Last-Modified: Fri, 28 Oct 2016 02:43:05 GMT


CACHE PATH - C:\Users\malia_000\AppData\Local\Microsoft\Windows\INetCache\IE\1GGZZZMD\passwordstrength[1].js
--------------
http://192.168.0.2:8080/sso/css/jquery-ui-themes.css
REQUEST HEADERS - 


RESPONSE HEADERS - 
HTTP/1.1 200 OK
ETag: W/"28572-1477622584980"
Content-Type: text/css
Content-Length: 28572
Last-Modified: Fri, 28 Oct 2016 02:43:04 GMT


CACHE PATH - C:\Users\malia_000\AppData\Local\Microsoft\Windows\INetCache\IE\1GGZZZMD\jquery-ui-themes[1].css
--------------
http://192.168.0.2:8080/sso/css/axure_rp_page.css
REQUEST HEADERS -