現在網上流行的小偷程序比較多,有新聞類小偷,音樂小偷,下載小偷,那麼它們是如何做的呢,下面我來做個簡單介紹,希望對各位站長有所幫助。$ q4 @$ t( y) e/ r7 Y
(一)原理
) Y$ _" }) n9 G0 G小偷程序實際上是通過了XML中的XMLHTTP組件調用其它網站上的網頁。比如新聞小偷程序,很多都是調用了sina的新聞網頁,並且對其中的html進行了一些替換,同時對廣告也進行了過濾。用小偷程序的優點有:無須維護網站,因為小偷程序中的數據來自其他網站,它將隨著該網站的更新而更新;可以節省服務器資源,一般小偷程序就幾個文件,所有網頁內容都是來自其他網站。缺點有:不穩定,如果目標網站出錯,程序也會出錯,而且,如果目標網站進行升級維護,那麼小偷程序也要進行相應修改;速度,因為是遠程調用,速度和在本地服務器上讀取數據比起來,肯定要慢一些。/ l5 R; {6 ?; z
(二)事例1 y0 r7 k w+ e( s- F; z
1 Y% L. N) k' y0 j下面就XMLHTTP在ASP中的應用做個簡單說明* g% Z6 p9 T& U! |: O0 l! U* S
/ T. K) e( ~: ?0 l4 x<%
+ L3 [. { z- E% M {'常用函數- f; @$ _! X& E: F. h: b: X+ i3 A f
# [* }4 P- m* r& ^& e6 M'1、輸入url目標網頁地址,返回值getHTTPPage是目標網頁的html代碼
. x2 m' V& O& a; s( A! N$ T4 dfunction getHTTPPage(url)8 \3 |+ H3 x7 y% l0 M0 f
dim Http
2 N! c2 M" o3 j6 `0 Q% e5 T+ R- D9 `set Http=server.createobject("MSXML2.XMLHTTP")
# p* c+ A4 l( X: q$ M, c6 S" mHttp.open "GET",url,false, h6 n/ H+ w5 i/ r) W3 K' a
Http.send(). v* b; r7 q' L. l/ K
if Http.readystate<>4 then1 s8 n' M; n3 y# |# p
exit function( e* O! W2 n' Q. A! `. \7 K+ h
end if1 r0 a4 f9 A6 r; f
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")+ U* Q) v! f; |% e% b
set http=nothing" X+ \+ t; r% A" w
if err.number<>0 then err.Clear
. _! X& ~9 {' B3 t; g8 A# z; send function$ G" `/ ~/ C" X t
8 f9 @' B# I1 g: H! |& b4 E- o0 h
'2、轉換亂瑪,直接用xmlhttp調用有中文字符的網頁得到的將是亂瑪,可以通過adodb.stream組件進行轉換/ ~" }) w# v+ x+ u0 ~7 i' }
Function BytesToBstr(body,Cset)
3 W2 x4 ^4 N/ p2 Y, E* ^dim objstream4 M0 a& r% J' h" d5 z9 a6 l
set objstream = Server.CreateObject("adodb.stream")" n+ p7 a7 a1 K9 P3 L0 l
objstream.Type = 14 w" J/ F1 D {1 p3 P' y% B
objstream.Mode =3
0 N1 W1 ]; t9 H/ v. ?objstream.Open
- t. V/ s2 a3 Y! x- _' _ A4 n9 xobjstream.Write body
4 v# C" }8 Z0 b, M) H, c1 yobjstream.Position = 0( g- J& S4 u t+ y( f4 Y. S
objstream.Type = 2
+ _1 L2 ?+ r V Hobjstream.Charset = Cset; L8 _+ n4 l3 d0 `
BytesToBstr = objstream.ReadText3 @% E* x, S, z" f& ?' s. W
objstream.Close
7 k' p/ l9 \: |" Xset objstream = nothing0 g% y7 N: D3 i; g" I# B5 ~
End Function
% y2 A2 ~0 F" t
8 P M$ a7 @8 G- E& J3 o9 M# n
9 K* ?- W3 s( c; I& t, P
( U$ X0 Q0 w% ]1 j8 m9 H' E$ q: Z" i* e% G
'下面試著調用http://www.3doing.com/earticle/的html內容5 ]% V0 f X% p4 z5 p- P" E) F
Dim Url,Html
S4 O+ `( J. j$ zUrl="http://www.3doing.com/earticle/";
# }) ]; ?& M- `5 z- `. o( F$ MHtml = getHTTPPage(Url). ?# _+ ?) F: S& S; s- a8 Y9 P
Response.write Html
, I: `1 [, G1 q+ D%> |
|