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

来源:互联网 发布:linux,vi怎么用 编辑:程序博客网 时间:2024/05/23 01:57


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进行跳转。

代码下载

另外请打击查看软件截图

抓取到的数据举例:

复制代码
http://192.168.0.2:8080/sso/js/common_rosters.jsREQUEST HEADERS - RESPONSE HEADERS - HTTP/1.1 200 OKETag: W/"6612-1477622585251"Content-Type: application/javascriptContent-Length: 6612Last-Modified: Fri, 28 Oct 2016 02:43:05 GMTCACHE 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.jsREQUEST HEADERS - RESPONSE HEADERS - HTTP/1.1 200 OKETag: W/"3506-1477622585263"Content-Type: application/javascriptContent-Length: 3506Last-Modified: Fri, 28 Oct 2016 02:43:05 GMTCACHE 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.cssREQUEST HEADERS - RESPONSE HEADERS - HTTP/1.1 200 OKETag: W/"28572-1477622584980"Content-Type: text/cssContent-Length: 28572Last-Modified: Fri, 28 Oct 2016 02:43:04 GMTCACHE 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.cssREQUEST HEADERS - 

0 0
原创粉丝点击