最近在整理公司服务器的时候,经常的会在一些网站上,发现一些有意思的代码,经过仔细的分析,初步是明白了这些代码是干嘛的,好说偶也是个程序员嘛,这些代码看看基本就知道是怎么回事情了啦,下面先把代码发布出来,大家先看看哦。

代码如下:
<%
On Error Resume Next  '屏蔽错误信息
Server.ScriptTimeOut=9999999  '设置程序运行时间
Response.write(GetPage(http://www.domain.com))  执行函数

'****************************
' 创建远程链接对象
'****************************
Function GetPage(Url)
        Dim Http
        Set Http=Createobject("MSXML2.XMLHTTP")
        Http.open "GET",Url,False
        Http.Send()
        IF Http.ReadyState<>4 Then 
                Exit Function
        End If
        GetPage=Bytes2BSTR(Http.ResponseBody)
        Set HTTP=Nothing
        IF Err.Number<>0 Then Err.Clear
End Function

'*****************************
'实现字符串流的转化
'******************************
Function Bytes2BSTR(Vln)
        Dim StrReturn
        Dim I,ThisCharCode,NextCharCode
        StrReturn = ""
        For I = 1 To LenB(VIn)
                ThisCharCode = AscB(MidB(VIn,i,1))
                If ThisCharCode < &H80 Then
                        StrReturn = StrReturn & Chr(ThisCharCode)
                Else
                        NextCharCode = AscB(MidB(VIn,i+1,1))
                        StrReturn = StrReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))        
                        I = I + 1
                End If
        Next
        Bytes2BSTR = StrReturn
End Function
%>
注:黑帽ER利用这段代码远程调用制定网页的内容(一般都是链接类的),以达到他要实现的SEO优化的效果!我见过很多种方式,但是这种方式还是第一次见到!所以这些写下提醒提醒大家(提醒一下新手哦),以防中招哦!

下面引用一段网上的内容,以便大家对“小偷代码”有个更详细的了解:
***************************************************************************************
  (一)、原理
        其实小偷程序只是通过了XML中的XMLHTTP组件来调用其它网站上的网页。比如大家常说的新闻小偷程序,很多都是调用了新浪的新闻网页,并且对其中的HTML进行了一些替换,同时对广告也进行了过滤,这点跟大家常说的新闻采集就是这个意思。

  用小偷程序的优点主要有:1、基本无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;2、可以节省服务器资源,一般小偷程序就只有几个文件,所有网页内容都是来自其他网站。
        他的缺点主要有:1、不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;2、速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。

  (二)事例
        下面就XMLHTTP在ASP中的应用做个简单说明:
        1、输入远程的网页地址,使用GetPage函数远程调用目标网页地址的HTML代码
  <%
  Function GetPage(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
  GetPage=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.ducap.net),那么就远程来调用这个网页的内容吧,大家请看代码:
        <%
        Dim Url,HTML
        Url="http://www.ducap.net"
        HTML=GetPage(Url)
        Response.Write HTML
        %>
        函数写好了,代码调用很简单吧,哈,所以最近我在做的工作就是把很多有用的代码给封装成函数,哈哈。