求助------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 也不行
有师傅说是如下原因:
很简单,只要对方在必经页上加个 Cookie 处理就可以做这样的识别。
比如说对方设计时决定网页的浏览次序,在先前的某个步骤中或跳转中做了Cookie 处理,
但你的程序因为不是人工操作,可能会跳过某个过程,这样就缺少的Cookie 处理的过程,
对方就很容易识别出哪个是非正常访问页面的IP。
还有就是 inet 控件对 HTTP 协议的 Cookie 支持不是很好的,也很容易产生这样的问题,
建议用 XMLHTTP 对象,这个支持完整的 Cookie 应用。
我的博客里有很多例子都有讲到 XMLHTTP 的,你可以去看看,要不到网上搜索一下也有
很多例子。
但最重要的是要模仿人工浏览过程,不要直接这样操作,不然很容易被发现的,还有就是
注意一些特殊图片和包含页面的访问,有些站长会利用这些地方做识别,我写的网站就经
常这么做。
但是如果像这位师傅说呢那样 应该一直不可以访问呀 可是实际上是 时好时坏
所以我更愿意觉得是 INET对http的cookie支持不是很好
但是这个支持不是很好 具是怎么样的呢
在我理解 INET 、webbrowse控件的底层 都是sock 来实现HTTP协议 我简单的想 既然这个控件用来实现HTTP访问 他应该做的跟 browser 的行为 差不多吧 我觉得就是没有翻译HTML
如果inet和浏览器 真的有差距的话 像上面师傅说的那样尽可能的模仿 浏览器的行为 如何操作呢 比如也产生相应的COOKIE 请求http访问时 也发送本机的COOKIE 或者说 如果指定INET的用户标识 好像每个浏览器都有这样的名字 即使百度的爬虫都有——baiduspider 我是不是也要设置一个 不是很懂 在握手之前 都进行哪些身份验证
我想 既然浏览器可以自如的访问网页 那显然是得到了 HTML 我就是想 不要解释过的HTML页面 直接后台操作html代码
算是爬虫吧
另外我弱弱的想问一下 在web服务器那边 看到我的INET访问 和浏览器访问 有什么不同(是浏览器标识吗,可不可以给INET也搞一个) 他是通过什么看到的
起初是可以的 但是后来应该是被站长 杀掉了(按照访问次数是不可能找到我的,我很好奇,我的访问数远远比正常的浏览器用户少) 我想知道对方是怎么发现我的 同时使采取了什么策略来限制我的访问
我具体的情况是inet1控件执行了 openurl后 返回的是空串 ""
htmlStr = Inet1.OpenURL(website)
这个是间歇性的 发生 不知道是为什么 说是被站长限制 也只是我的猜测
我看了防爬虫的文章 没有对应到 我遇到的这种情况
使用相同的程序去抓取其他 网站则正常(程序没有问题)
IE浏览器也可正常访问该目标网站(IP没有受限)
我的inet 的设置
accesstype icusedefault
protocol http
remoteport 80
将accesstype 换为icdirect 也不行
有师傅说是如下原因:
很简单,只要对方在必经页上加个 Cookie 处理就可以做这样的识别。
比如说对方设计时决定网页的浏览次序,在先前的某个步骤中或跳转中做了Cookie 处理,
但你的程序因为不是人工操作,可能会跳过某个过程,这样就缺少的Cookie 处理的过程,
对方就很容易识别出哪个是非正常访问页面的IP。
还有就是 inet 控件对 HTTP 协议的 Cookie 支持不是很好的,也很容易产生这样的问题,
建议用 XMLHTTP 对象,这个支持完整的 Cookie 应用。
我的博客里有很多例子都有讲到 XMLHTTP 的,你可以去看看,要不到网上搜索一下也有
很多例子。
但最重要的是要模仿人工浏览过程,不要直接这样操作,不然很容易被发现的,还有就是
注意一些特殊图片和包含页面的访问,有些站长会利用这些地方做识别,我写的网站就经
常这么做。
但是如果像这位师傅说呢那样 应该一直不可以访问呀 可是实际上是 时好时坏
所以我更愿意觉得是 INET对http的cookie支持不是很好
但是这个支持不是很好 具是怎么样的呢
在我理解 INET 、webbrowse控件的底层 都是sock 来实现HTTP协议 我简单的想 既然这个控件用来实现HTTP访问 他应该做的跟 browser 的行为 差不多吧 我觉得就是没有翻译HTML
如果inet和浏览器 真的有差距的话 像上面师傅说的那样尽可能的模仿 浏览器的行为 如何操作呢 比如也产生相应的COOKIE 请求http访问时 也发送本机的COOKIE 或者说 如果指定INET的用户标识 好像每个浏览器都有这样的名字 即使百度的爬虫都有——baiduspider 我是不是也要设置一个 不是很懂 在握手之前 都进行哪些身份验证
我想 既然浏览器可以自如的访问网页 那显然是得到了 HTML 我就是想 不要解释过的HTML页面 直接后台操作html代码
算是爬虫吧
另外我弱弱的想问一下 在web服务器那边 看到我的INET访问 和浏览器访问 有什么不同(是浏览器标识吗,可不可以给INET也搞一个) 他是通过什么看到的
作者: totola147 发布时间: 2011-11-29
又看到你的帖子了,呵呵。
你要知道浏览器是有缓存的,还有相关配置,包括隐私配置和安全配置,虽然 INET 控件能通过 HTTP 连接访问远程数据,但毕竟是个简单的机制,没有 IE 内核那种强大复杂的机制,因为 INET 控件是独立于 IE 内核外的一个控件而已,而且不会存储这些隐私信息或缓存等信息重复使用,也就导致了 Cookie 会失败的原因,当然,你自己取得所有数据后自己分析 HTTP 头后再自己用内存根据 HTTP 头命令存储或设置 Cookie 数据是可以的,但这样就比较麻烦啦。我说的 XMLHTTP 是比较新的系统对象,它就直接支持这种 Cookie 的运用,相对来说,使用会比 INET 控件更方便,因为它是类,可以动态创建,还不需要担心版本问题。控件使用起来还没这么方便,而且顾虑也多。
至于如何模仿,最简单的就是你平时用浏览器先访问那个页面,然后再访问那个页面的这种顺序,用 XMLHTTP对象也按照这种方式一个一个访问,这样就不会有那么多问题,用 XMLHTTP,甚至开可以实现模拟登录取数据等操作,用起来会比 INET 控件灵活很多。毕竟 INET 控件是9几年那时的东西,与现在的系统对象比,功能肯定会有点差异的。
你要知道浏览器是有缓存的,还有相关配置,包括隐私配置和安全配置,虽然 INET 控件能通过 HTTP 连接访问远程数据,但毕竟是个简单的机制,没有 IE 内核那种强大复杂的机制,因为 INET 控件是独立于 IE 内核外的一个控件而已,而且不会存储这些隐私信息或缓存等信息重复使用,也就导致了 Cookie 会失败的原因,当然,你自己取得所有数据后自己分析 HTTP 头后再自己用内存根据 HTTP 头命令存储或设置 Cookie 数据是可以的,但这样就比较麻烦啦。我说的 XMLHTTP 是比较新的系统对象,它就直接支持这种 Cookie 的运用,相对来说,使用会比 INET 控件更方便,因为它是类,可以动态创建,还不需要担心版本问题。控件使用起来还没这么方便,而且顾虑也多。
至于如何模仿,最简单的就是你平时用浏览器先访问那个页面,然后再访问那个页面的这种顺序,用 XMLHTTP对象也按照这种方式一个一个访问,这样就不会有那么多问题,用 XMLHTTP,甚至开可以实现模拟登录取数据等操作,用起来会比 INET 控件灵活很多。毕竟 INET 控件是9几年那时的东西,与现在的系统对象比,功能肯定会有点差异的。
作者: SupermanKing 发布时间: 2011-11-29
用webbrowser控件试试。
作者: wangmu7206 发布时间: 2011-11-30
引用 2 楼 wangmu7206 的回复:
用webbrowser控件试试。
用webbrowser控件试试。
这种方法效率很低很低很低很低...的
作者: SupermanKing 发布时间: 2011-11-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28