asp如何采集需要登陆的网站信息

asp如何采集需要登陆的网站信息,第1张

下面首先来说说这个方法

1。.send()

由于流行的小偷是使用的GET而不是POST来传送数据,所以很多人忽略了这个方法,而使用SEND发送数据也很简单,就是SEND("内容"),可是,

发送表单就不是这么简单,因为你发送的表单如果是中文的话,就要牵扯到编码的问题了。

首先,你在OPEN 时要确定是用POST 即 .open("POST",地址,是否异步)

然后,在SEND里面加上你表单的内容,比如说,你要提交的表单有3个表单域,分别是A,B,C,对应的值分别是1,2,3,那么,你在SEND里这

样写就可以提交表单了,.send("A=1&B=2&C=3"),怎么样,很简单吧,是不是没想到呢?但是别高兴的太早了,我前面说到了,如果表单的值是

中文的话,数据传输的就会出错了。这里我们借助一个函数escape(),熟悉JAVASCRIPT的朋友都应该知道这个函数的作用了,现在VBSCRIPT同样支持这个函数。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')")

2。.setRequestHeader()

接着上面的所说,你的数据send出去了,对方却不会接收到,为什么了,其实,那是因为你的HTTP头少了一个东西,然后用这个函数把加上去就可以了,具体就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告诉对方你是提交了一个urlencode编码的表单。

其实传送cookies也很简单了,同样利用这个函数在HTTP头里添加东西,比如,我当前在落伍的cookies是

cdb_sid=ybBiK0cdb_cookietime=315360000cdb_oldtopics=D869008Dcdb_visitedfid=1D45cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCgcdb_fid45=1113370145

现在我要发送这个cookies就直接是.setRequestHeader("Cookie","cdb_sid=ybBiK0cdb_cookietime=315360000cdb_oldtopics=D869008Dcdb_visitedfid=1D45cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCgcdb_fid45=1113370145")

当然,有些网站页面有页面判断功能,这个也不难,就是.setRequestHeader("Referer","来路的绝对地址")

这里还有个重要问题,就是这个方法由于是写HTTP头的,所以不能更改现有的HTTP头

不知道,对您有没有帮助,在网上多查查答案,别动不动就狂甩分数,分数又不是捡来的,回去试试本人的答案,如果正确,给不给分,无所谓!!!

将自动采集页放在远程虚拟主机。

方式列举几种:

1、本地做托盘程序,开机自动启动,定时调用采集页面检查。

2、网站整合一个字段,设置检查时间。每个访客来时校对是否大于10分钟,如果大于10分钟自动采集一次,采集完成后更新字段时间。

3、选购个linux主机,用cpanel定时执行php采集页,如果是asp的这个方法跳过。

4、为兄的实在想不到其他办法了。

以上思路你看下能否有用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7773317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存