- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%> / Q2 w% ~/ F/ o \
- <%Response.Charset = "utf-8"%>
" H- o) K9 R) t& I" y0 [# e9 Z - <% 0 T$ A2 t7 `* U6 l5 j
- Server.ScriptTimeout=9999999;
/ u% A# U9 P2 ?) I) H6 u$ O3 g - var Surl = String(Request.QueryString("url")); 8 R/ I1 T: |6 c! }( H# }6 Q
- if(Surl == "undefined"){
4 [# ]$ o* h# x! [5 p! v+ [ - Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">金光論壇 ASP WEB 在線代理程序 1.0 版</p>"); ' x) B s( \6 ]
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">"); ; L5 p& ^0 S% x$ F
- Response.Write("<form action="#" method="get" >");
5 g! o. y5 Z( N5 w4 A - Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>"); 9 U, k2 E, R" S' T* \9 O# ^
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>"); 6 q" V6 N) Q% i& Y& {. n( i; K
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>"); & Q# F0 p$ N: b3 q2 F0 B2 N' Y
- Response.Write("</div>");
/ M/ N3 H7 m- I - } ) _9 ?$ M" G X. k, ?
- else if(Surl == ""){ , _) ^5 o# F: }% h0 s" Q; k$ _$ t
- Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">金光論壇 ASP WEB 在線代理程序 1.0 版</p>"); 6 j$ J( M a3 S- {* i
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">"); 3 ~! |7 N" e, F/ n. W K6 {, W
- Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
5 Q3 {# D* ~* a: S9 P5 z& G9 q - Response.Write("</div>");
9 z6 V& x) I0 u( B - } 9 g6 ?" M* {9 ~# F0 u
- else{
9 i$ \! r9 |& V5 a - Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; 2 Q" m) t: \) d& @
- Response.Write(send_request(Surl)); 6 b% [; E8 R' k# Z l
- } 0 W5 Z1 M) p5 ]2 @
- function send_request(url) {
+ R7 O' n( W& V! k - var codedtext; 6 x' X; o& j$ S+ H% G% F( l
- http_request = Server.CreateObject("Microsoft.XmlHTTP");
1 w. Z( {' k2 @6 c9 O - try{
% C4 P0 |" c# ^3 [, `5 A - http_request.Open("GET",url,false); 0 o5 K3 e$ C# d- C- ~* p) c
- http_request.Send(null);
% c8 r2 ^. g* D/ x0 k - } / P' }, o1 y% X. q9 S! H
- catch(e)
& _3 b" v% _, [, T' w - {
% H9 v4 Y2 L! p+ o; j9 W7 S - Response.Write(e.description); ! O* y" U% f! ^
- }
1 k( E6 }: B! L' l5 t7 t+ Z. p - if (http_request.ReadyState == 4){
5 I1 t9 J+ ^# Q& G, C - //自動判斷編碼開始
0 M: j* Z* f+ ]% J$ q) d - var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i);
6 M' y5 C' P) V& S" ]3 F: C2 g - if (charresult != null){
% ?% M m! P* v; z0 v" q - var Cset = charresult[1];
8 q% x6 N n7 Q4 E% @( L! H% w - }else{Cset = "utf-8"}
. C! i2 i* d, E: u6 A1 P1 Y: \' W/ _5 K$ U - //自動判斷編碼結束
1 _4 J- r; i" J K7 Z - codedtext = bytesToBSTR(http_request.Responsebody,Cset);
) w2 e* q: K0 k$ E" _# ?) C - }else{ " Q L" F! B" b8 z& V$ y
- codedtext = "Erro"; 5 j* ^1 n. G. v
- }
5 j2 c3 Y. v g6 p ] - //替換超連接 # i, c' M, X( K1 T7 z, x
- codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); g; }$ U% m: d. C8 P+ f
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); - \1 _4 v, V; L1 c' q3 I
- return(codedtext); 5 D2 S- Y6 i6 V) W
- } 1 `( f3 \2 X7 U- }2 E3 {8 x
- function bytesToBSTR(body,Cset){ ) `& L# ^1 ~; m [* L6 ~- [/ K
- var objstream;
' i' i6 A* E8 N: S& W - objstream = Server.CreateObject("Adodb.Stream"); 0 p! ~3 x, i$ o% W7 S
- objstream.Type = 1;
' A: U' m/ P, l0 A8 c - objstream.Mode = 3; 6 F' R1 X+ x4 ^3 @, k8 |7 w
- objstream.Open();
! I( Z- v7 U7 \' W; G m - objstream.Write(body); & J0 y+ p! y+ b& P* o* S/ b
- objstream.Position = 0;
; Y8 ^" _2 V5 c9 u' I0 _4 z# Y - objstream.Type = 2;
' G3 L3 S/ Q% _/ i" G! D0 M7 v - objstream.Charset = Cset; 1 G6 { T( U% t* E0 k+ b
- bytesToBSTR = objstream.Readtext; 3 F: E& x! A6 \- F/ r0 @
- objstream.Close;
+ p$ O3 ^) v, x. i" ~, | - return(bytesToBSTR); ) {" e* m' u% q# g8 u
- }
' c% U# G6 `1 }& m- `0 G# D! y - function SaveRemoteFile(LocalFileName,RemoteFileUrl){ J( ^6 W" ?- j! i
- var Retrieval,Ads; ( P8 I* n1 ~ S
- Retrieval = Server.CreateObject("Microsoft.XmlHTTP");
! _" i1 u/ T7 m+ W! x" V" o - Retrieval.Open("GET",RemoteFileUrl,false); ; ]+ {5 L7 z. G1 h& i- S$ @, j
- Retrieval.Send(null);
# _& r& r# _+ B3 X% W1 I - if (Retrieval.ReadyState == 4){ % F2 O2 G$ _4 E7 B6 ]7 g2 T
- Ads = Server.CreateObject("Adodb.Stream");
% c2 L+ i# \6 v+ o4 R% {& T3 y" T - Ads.Type = 1;
' }* q( s3 |# J& c% b A' ^, n/ l( H - Ads.Open(); * u M; w9 l7 q1 K3 T" ]
- Ads.Write(Retrieval.Responsebody); P: p. I4 F+ w) m" U
- Ads.SaveToFile(Server.MapPath(LocalFileName),2); ) b( n( \' ] Z0 R
- Ads.Cancel; ; z. m E0 G u7 r
- Ads.Close;
2 S8 n1 y2 Y9 }7 I/ ]# l+ U - }
3 @) E; f O a - } # s+ L4 h X2 S4 T0 @
- //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif");
$ ^0 v* f- J2 `: Z; Q - %>
複製代碼 |
|