XMLHTTP小偷程序原理

转载 2006年06月21日 08:27:00

小偷程序原理和简单示例
发表:2004-4-13 164720 出处:你的博客网(yourblog.org)

现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助。
(一)原理
小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。
(二)事例

下面就XMLHTTP在ASP中的应用做个简单说明

XML相关技术资料

xmlHTTP技术
----------------------------------------------------------
一、数据库远程管理技术

基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式:

早期通过编写CGI-BIN程序模块进行数据库远程管理。但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用。

这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好。但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册自己的组件。

近年来由微软公司推出的.NET平台和SUN公司的J2EE平台都是非常高档的数据库远程管理与服务平台。都能提供优质的多层(n-Tier)应用服务。
其中,.NET的简单对象访问协议(Simple Object Access Protocol, SOAP)使用超文本传输协议(Hypertext Transfer Protocol, HTTP)和扩展标记语言(Extensible Markup Language, XML)技术实现跨系统(例如Windows - Linux)的通讯服务方式已经广为开发商接受和使用。许多大型应用,例如企业资源计划(Enterprise resource planning, ERP)等都建立在这样的大型平台之上。
但对于中小型应用,比如一个网站的建设和维护,这种大型应用平台就显得有些尾大不掉,开销也过于庞大。

曾经在互联网技术和Java技术方面一度落后的微软公司在XML应用开发则走在了前头。她的XML解析器(MSXML)中的XMLHTTP协议是一个非常方便实用的客户服务通讯管道。综合运用XMLHTTP以及ActiveX数据对象(ActiveX Data Objects, ADOADOX)可以简单方便地实现数据库远程管理。

本文介绍如何综合运用XMLHTTP和ADOADOX进行远程数据库管理。

二、数据库远程管理体系

数据库远程管理的任务流程是:
1、客户端向服务端发出数据库结构和数据的查询或修改指令。
2、服务端接受并执行有关指令并向客户端返回结果。
3、客户端接受并显示服务端返回的指令执行结果。

实现数据库远程管理的二个主要关键环节是:
1、客户端与服务端之间的指令上传和结果下传的数据通道,由XMLHTTP协议实现。
2、服务端前沿与数据库之间的指令传送和结果返回,由起着中间层作用的ADOADOX接口完成。
三、XMLHTTP的使用

顾名思义,XMLHTTP是个传送XML格式数据的超文本传输协议。

实际上,XMLHTTP的数据传输过程更为灵活一些:
它上传的指令可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。还可以是URL的参数。
它下达的结果可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。
详情可参阅文末链接。

客户端调用XMLHTTP的过程很简单,只有5个步骤:
1、创建XMLHTTP对象
2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。
客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用GET方法或POST方法指向服务端的服务网页。
3、发送指令。
4、等待并接收服务端返回的处理结果。
5、释放XMLHTTP对象

XMLHTTP方法:
Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
bstrMethod:数据传送方式,即GET或POST。
bstrUrl:服务网页的URL。
varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。
应用中一般将其置为False,即异步执行。
bstrUser:用户名,可省略。
bstrPassword:用户口令,可省略。

Send varBody
varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

setRequestHeader bstrHeader, bstrvalue
bstrHeader:HTTP 头(header)
bstrvalue:HTTP 头(header)的值
如果Open方法定义为POST,可以定义表单方式上传:
xmlhttp.setRequestHeader Content-Type, applicationx-www-form-urlencoded

XMLHTTP属性:
onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。
responseBody:结果返回为无符号整数数组。
responseStream:结果返回为IStream流。
responseText :结果返回为字符串。
responseXML:结果返回为XML格式数据。


下面是本文附件源程序中的一个应用示例:
Function GetResult(urlStr)
Dim xmlHttp
Dim retStr

Set xmlHttp = CreateObject(Msxml2.XMLHTTP ’创建对象
On Error Resume Next ’出错处理
xmlHttp.Open POST, urlStr, False ’用POST方式打开连接,异步执行。
xmlHttp.setRequestHeader Content-Type, applicationx-www-form-urlencoded ’上传表单
xmlHttp.Send ’发送指令

If Err.Number = 0 Then ’如果连接正确
retStr = xmlHttp.responseText ’等待并获得服务端返回的结果字符串
Else
retStr = Url not found ’否则返回出错信息
End If
Set xmlHttp = nothing ’释放对象
GetResult = retStr ’返回结果
End Function

GetResult()函数带入一个服务网页的URL参数,把上传的指令安放在URL后面的参数上,如:
urlStr = server.aspcmd= & cmd & &db= & db & table= & table
cmd:执行方式,例如查询,修改,删除等等。
db:服务端数据库名
table:服务端表名

然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。

最后由函数调用者处理并显示结果。

相关文章推荐

ASP中实现小偷程序的原理和简单示例

早先网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助。 (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件...

php小偷程序原理和实例

  • 2011年11月02日 13:51
  • 23.91MB
  • 下载

焦耳小偷-Joule_thief原理分析

焦耳小偷电路可以榨干一节废旧干电池上的所有能量。 通常1.5V的干电池用完之后还会有1V左右的电压,说明此时电池内还有能量,只不过内阻已经变的很大,输出电流很微弱,已经无法驱动一般的电路,此时就算直...

php小偷程序新概念之实时更新(二)

前一篇讲到了如何将资源本地化,这篇博文将讲述如何资源本地化的同时实时更新。 二级页面,文章页面要实时更新其实没有什么必要,只要定时或者稳定间隔时间更新页面就行了。方法有如下几种: 1,利用cook...

php采集(php小偷)程序设计教程

http://blog.csdn.net/binger819623/archive/2009/03/12/3985592.aspx 目录什么是php采集程序?为什么要采集?采集些什么?如何采集?采集范...

php小偷程序实例代码

小偷程序其实就是利用了php中的一特定函数实现采集别人网站的内容,然后通过正则分析把我们想要的内容保存到自己本地数据库了,下面我来介绍php小偷程序的实现方法,有需要的朋友可参考。 在下面采集数据过...

PHP 实现小偷程序

为什么使用“小偷程序”?         远程抓取文章资讯或商品信息是很多企业要求程序员实现的功能,也就是俗说的小偷程序。其最主要的优点是:解决了公司网编繁重的工作,大大提高了效率。只需要一运行...

正则在小偷程序中的应用(续)

//获取资源信息 $content = file_get_contents("http://list.sososteel.com/qg/list.html?pg=1&h=".t...

[30期] PHP正则表达式写天气预报小偷程序

以前看到别人网站上的内容都是每天自动更新的,觉得这种技术很神奇。 也一直在琢磨为什么他们网站不大,也不可能有自己的天气预报预测中心吧, 但是天气预报每天都是自动更新的,然后从别人那里得知,那是...

Ajax和XMLHttp原理

  • 2010年01月10日 14:47
  • 32KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XMLHTTP小偷程序原理
举报原因:
原因补充:

(最多只允许输入30个字)