+ -
当前位置:首页 → 问答吧 →  求助------VB 6.0 的 inet控件问题(疑似被访问禁止!!!)

求助------VB 6.0 的 inet控件问题(疑似被访问禁止!!!)

时间:2011-11-29

来源:互联网

我在试验用inet 控件 提取网页HTML代码(测试次数非常少,因为是写代码阶段 就是写写代码,测试的时候抓取一次,也就是3次/小时)针对一个网站 
起初是可以的 但是后来应该是被站长 杀掉了(按照访问次数是不可能找到我的,我很好奇,我的访问数远远比正常的浏览器用户少) 我想知道对方是怎么发现我的 同时使采取了什么策略来限制我的访问


我具体的情况是inet1控件执行了 openurl后 返回的是空串 ""
htmlStr = Inet1.OpenURL(website)

这个是间歇性的 发生 不知道是为什么 说是被站长限制 也只是我的猜测
   
我看了防爬虫的文章 没有对应到 我遇到的这种情况  

使用相同的程序去抓取其他 网站则正常(程序没有问题)  
IE浏览器也可正常访问该目标网站(IP没有受限)

我的inet 的设置
accesstype icusedefault
protocol http
remoteport 80

将accesstype 换为icdirect 也不行

作者: totola147   发布时间: 2011-11-29

很简单,只要对方在必经页上加个 Cookie 处理就可以做这样的识别。
比如说对方设计时决定网页的浏览次序,在先前的某个步骤中或跳转中做了Cookie 处理,
但你的程序因为不是人工操作,可能会跳过某个过程,这样就缺少的Cookie 处理的过程,
对方就很容易识别出哪个是非正常访问页面的IP。
还有就是 inet 控件对 HTTP 协议的 Cookie 支持不是很好的,也很容易产生这样的问题,
建议用 XMLHTTP 对象,这个支持完整的 Cookie 应用。
我的博客里有很多例子都有讲到 XMLHTTP 的,你可以去看看,要不到网上搜索一下也有
很多例子。
但最重要的是要模仿人工浏览过程,不要直接这样操作,不然很容易被发现的,还有就是
注意一些特殊图片和包含页面的访问,有些站长会利用这些地方做识别,我写的网站就经
常这么做。

作者: SupermanKing   发布时间: 2011-11-29

热门下载

更多