当前位置: 代码迷 >> VB Dotnet >> VB.NET 利用 webbrowser 提取网页信息时遇到服务器 针对ip 不响应的有关问题
  详细解决方案

VB.NET 利用 webbrowser 提取网页信息时遇到服务器 针对ip 不响应的有关问题

热度:717   发布时间:2016-04-25 02:02:00.0
VB.NET 利用 webbrowser 提取网页信息时遇到服务器 针对ip 不响应的问题
想要提取的信息来自网页:http://dlgl.sipo.gov.cn/txnqueryAgent.do
目前我已经做到能够自动输入信息、点击按钮、提取得到的信息。
但是有一个问题:
当查询多次以后,点击“查询”按钮的时候,会出现网页跳转到别的网页而不再显示查询结果的情况,也就是不再显示查询结果而是跳转到另一个网页。
不过等待一定时间之后(十多分钟或者更长时间,我不确定),重新载入这个网页并输入信息、点击查询按钮后又可以继续显示查询结果了。

我查看网页源码,服务器端似乎会记录我的ip,并且针对记录的ip不响应查询结果(可能是由于我的有些输入没有查询结果,但这种没查询结果的查询次数超过了服务器的设定,服务器就不再响应我的查询了)。

<form action="txnqueryAgent.do" method="post" name="formx1" style="display:none">
<input type=hidden name="select-key:currentPage" value='' /> 
<input type=hidden name="select-key:name" value='' /> 
<input type=hidden name="select-key:qualificationcode" value='' /> 
<input type=hidden name="select-key:certificate" value='' /> 
<input type=hidden name="select-key:cmajor" value='' /> 
<input type=hidden name="select-key:identitycard" value='' /> 
<input type=hidden name="loginIp:login_ip" value="192.168.102.148" />
</form>

红色部分应该是服务器记录下的ip信息。

不知道有没有方法可以克服这种问题,让我提取信息的过程可以不必等待这么长的时间,而使服务器能持续的反馈查询结果
给我?



------解决思路----------------------
你用机器人频繁访问,对方把你拉黑,你能有什么办法!
------解决思路----------------------
如果对方偷懒,直接从你的input中取你的IP,你能改下值就能欺骗
但是一般会通过Request.ServerParams中取,这个里面的参数都是由浏览器根据协议自动填充的,就算你用HttpWebRequest也是改不了的,除非你用Socket,从TCP层开始欺骗,也就是俗称的DDoS攻击了
下文是构造假的TCP协议头,你把RequestStream放到数据区就行了
http://www.cnblogs.com/godwar/archive/2010/05/25/1743696.html

对于安全措施到位的服务器,这个也起不了什么作用的,并且还是违法的
  相关解决方案