C# winform的WebBrowser非常规编程(强烈推荐)


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

1、在WebBrowser中实现抓取301和302协议

在WebBrowser中抓取301和302协议目前官方提供的组件远远不够,需要借助HttpMonitor.dll。这个组件由美国人开发,目前项目宿主在

http://www.codeproject.com/Articles/157329/Http-Monitor-for-Webbrowser-Control 上,这个项目在vs2010上报错,经过我的调整,目前可以正常编译。组件下载

编译过程中可以联系我。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进行跳转。

代码下载

另外请打击查看软件截图

C# winform的WebBrowser非常规编程(强烈推荐)_第1张图片

C# winform的WebBrowser非常规编程(强烈推荐)_第2张图片

抓取到的数据举例:

复制代码
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 - 

你可能感兴趣的:(C# winform的WebBrowser非常规编程(强烈推荐))