現在網上流行的小偷程式比較多,有新聞類小偷,音樂小偷,下載小偷,那麼它們是如何做的呢,下面我來做個簡單介紹,希望對各位站長有所協助。
(一)原理
小偷程式實際上是通過了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.998w.net/class/的html內容
Dim Url,Html
Url="http://www.998w.net/class/"
Html = getHTTPPage(Url)
Response.write Html
%>
------------------------------------------------------
代碼:
'代碼用XMLHTTP讀取遠程檔案
<%
Response.Buffer = True
Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP"
xml.Open "GET", "http://www.998w.net/down/998w1.0.rar", False
xml.Send
' Add a header to give it a file name:
Response.AddHeader "Content-Disposition", _
"attachment;filename=mitchell-pres.zip"
' Specify the content type to tell the browser what to do:
Response.ContentType = "application/zip"
' Binarywrite the bytes to the browser
Response.BinaryWrite xml.responseBody
Set xml = Nothing
%>