日期:2010-06-16  浏览次数:20944 次

    (一)原理

  小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。

  (二)事例

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

  〈%

  '常用函数

  '1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

  function getHTTPPage(url)

  dim Http

  set Http=server.createobject("MSXML2.XMLHTTP")

  Http.open "GET",url,false

  Http.send()

  if Http.readystate<>4 then

  exit function

  end if

  getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

  set http=nothing

  if err.number<>0 then err.Clear

  end function  

  '2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

  Function BytesToBstr(body,Cset)

  dim objstream

  set objstream = Server.CreateObject("adodb.stream")

  objstream.Type = 1

  objstream.Mode =3

  objstream.Open

  objstream.Write body

  objstream.Position = 0

  objstream.Type = 2

  objstream.Charset = Cset

  BytesToBstr = objstream.ReadText

  objstream.Close

  set objstream = nothing

  End Function  

  '下面试着调用http://www.webjx.com/earticle/的html内容

  Dim Url,Html

  Url="http://www.webjx.com/earticle/"

  Html = getHTTPPage(Url)

  Response.write Html

  %〉