C# winform的WebBrowser非常規程式設計(強烈推薦)
阿新 • • 發佈:2019-01-02
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 -