現在網上流行的小偷程序比較多,有新聞類小偷,音樂小偷,下載小偷,那麼它們是如何做的呢,下面我來做個簡單介紹,希望對各位站長有所幫助。
+ t# s1 `& c% j/ p, [2 I(一)原理1 C8 a. \ |9 m3 z
小偷程序實際上是通過了XML中的XMLHTTP組件調用其它網站上的網頁。比如新聞小偷程序,很多都是調用了sina的新聞網頁,並且對其中的html進行了一些替換,同時對廣告也進行了過濾。用小偷程序的優點有:無須維護網站,因為小偷程序中的數據來自其他網站,它將隨著該網站的更新而更新;可以節省服務器資源,一般小偷程序就幾個文件,所有網頁內容都是來自其他網站。缺點有:不穩定,如果目標網站出錯,程序也會出錯,而且,如果目標網站進行升級維護,那麼小偷程序也要進行相應修改;速度,因為是遠程調用,速度和在本地服務器上讀取數據比起來,肯定要慢一些。
4 i2 \' k$ T: D, P(二)事例2 B1 j- E7 |6 }" I- N0 l
/ v( Q+ |4 U- a5 a \! I# f
下面就XMLHTTP在ASP中的應用做個簡單說明
+ i, b: q: a" [# S3 d) L# ]4 {" V; ]% ? ^% \7 g! r3 `6 ?, o u0 Q
<%
. }& J( Y/ e, ?/ h2 E'常用函數* N, u$ ^6 l* M. `0 V
7 `$ T2 ]" o7 u8 M5 \7 G8 b5 B'1、輸入url目標網頁地址,返回值getHTTPPage是目標網頁的html代碼& M5 _ l' p( S5 v3 R5 j, a$ |
function getHTTPPage(url)0 p2 x5 Y( L9 R! f' X$ o, C
dim Http
U. z# u' {9 l) A9 q; F8 k; [2 ]set Http=server.createobject("MSXML2.XMLHTTP")
; x7 R4 D7 U9 |; G3 dHttp.open "GET",url,false5 o: O/ N# R6 T. _3 w+ w
Http.send()
0 U, m$ |& ?( _$ f0 Eif Http.readystate<>4 then
' e/ V' a' m/ i# w& `9 H5 Fexit function7 q! R0 t9 M8 d/ W `2 n
end if: s; ~- x3 w) h" B. X/ [9 P
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")2 `% d( o* T5 k B
set http=nothing- A' z' q! b- }* k
if err.number<>0 then err.Clear2 a1 f) e4 P" C
end function' ]# d, G' t( r1 @: c( M
7 I, m2 x1 O; g7 E) `; I5 f
'2、轉換亂瑪,直接用xmlhttp調用有中文字符的網頁得到的將是亂瑪,可以通過adodb.stream組件進行轉換9 O# w- J( r( @ x# l8 s) w0 ^4 w
Function BytesToBstr(body,Cset)
; e% b M, E; O) ?9 S7 Xdim objstream+ B8 x* a9 ~9 Z- w) ~9 Q
set objstream = Server.CreateObject("adodb.stream"), Y- W" @# P) D$ _: R+ b; E
objstream.Type = 1
% b) m! M5 g; v& Mobjstream.Mode =3
6 h6 F; @6 }% Y0 I1 h! \objstream.Open+ ]! L6 W2 O6 T1 j& _# o# V9 h
objstream.Write body5 k3 V; c6 O- G2 J- d+ l/ C
objstream.Position = 0/ W% F* n# v$ C6 D* P
objstream.Type = 2
4 j o2 G% a, D% x$ J$ z) r4 xobjstream.Charset = Cset4 x' H \7 o) S, i3 r% W' r8 {
BytesToBstr = objstream.ReadText! P& E$ n" @+ ^" r- @* ~
objstream.Close' _( b( m( S8 \/ m4 x9 C- |) W
set objstream = nothing E! W) I, j5 V+ i
End Function$ { e. \8 Z( G: B$ |
: `2 J4 v4 u, k: i
+ D3 T" k) {0 U2 B3 r) D5 l
# p5 n; D, }7 v$ U: o& w& R
6 R% r- w5 n6 h2 r0 S. F: V'下面試著調用http://www.3doing.com/earticle/的html內容
4 f# o' s3 C2 w8 s8 YDim Url,Html9 D/ X: d1 D. s, O/ r# X
Url="http://www.3doing.com/earticle/";8 D9 J* A' D8 J
Html = getHTTPPage(Url)2 ~( M- G; O- u/ F$ E0 C
Response.write Html* W: {& {( w0 J# @% w" a
%> |
|