ASP中實現(xiàn)小偷程序的原理和簡單示例

字號:

現(xiàn)在網(wǎng)上流行的小偷程序比較多,有新聞類小偷,音樂小偷,下載小偷,那么它們是如何做的呢,下面我來做個簡單介紹,希望對各位站長有所幫助。考試大編輯整理
    (一)原理
    小偷程序?qū)嶋H上是通過了XML中的XMLHTTP組件調(diào)用其它網(wǎng)站上的網(wǎng)頁。比如新聞小偷程序,很多都是調(diào)用了sina的新聞網(wǎng)頁,并且對其中的html進行了一些替換,同時對廣告也進行了過濾。用小偷程序的優(yōu)點有:無須維護網(wǎng)站,因為小偷程序中的數(shù)據(jù)來自其他網(wǎng)站,它將隨著該網(wǎng)站的更新而更新;可以節(jié)省服務(wù)器資源,一般小偷程序就幾個文件,所有網(wǎng)頁內(nèi)容都是來自其他網(wǎng)站。缺點有:不穩(wěn)定,如果目標網(wǎng)站出錯,程序也會出錯,而且,如果目標網(wǎng)站進行升級維護,那么小偷程序也要進行相應(yīng)修改;速度,因為是遠程調(diào)用,速度和在本地服務(wù)器上讀取數(shù)據(jù)比起來,肯定要慢一些。
    (二)事例
    下面就XMLHTTP在ASP中的應(yīng)用做個簡單說明
    <%
    '常用函數(shù)
    '1、輸入url目標網(wǎng)頁地址,返回值getHTTPPage是目標網(wǎng)頁的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、轉(zhuǎn)換亂瑪,直接用xmlhttp調(diào)用有中文字符的網(wǎng)頁得到的將是亂瑪,可以通過adodb.stream組件進行轉(zhuǎn)換
    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
    '下面試著調(diào)用http://www.3doing.com/earticle/的html內(nèi)容
    Dim Url,Html
    Url="http://www.3doing.com/earticle/"
    Html = getHTTPPage(Url)
    Response.write Html
    %>