- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
: K4 T4 v6 `; y" y# X - <%Response.Charset = "utf-8"%>
9 A0 v" e! y! I" W" _* H - <% . J% X* D& G/ p, k
- Server.ScriptTimeout=9999999;
3 I2 k: d2 h/ b& ?( K' f+ B D9 ^ - var Surl = String(Request.QueryString("url")); . s4 f+ w; E1 i
- if(Surl == "undefined"){ 1 W8 o W$ y0 x$ m+ L, E
- 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>");
, J% Q8 \- c; _2 v# G' l - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
5 n8 X1 G7 l8 b2 h/ `4 G Z3 s - Response.Write("<form action="#" method="get" >"); $ @% ?" I/ {7 M6 p8 R
- Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>");
$ v5 \7 p& \7 H8 l: \7 i p - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>");
/ ?. b0 B. W4 U$ ~% W9 Z8 i - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>"); 1 g$ Z* ]" J$ `. p: N; k% a4 o
- Response.Write("</div>");
, U1 H1 F* D: N! b; G2 s - }
. u. e& a3 n8 c& u6 D - else if(Surl == ""){ + I) S; z/ i |. |
- 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>");
$ q F+ w; S/ {+ \ - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
2 v0 D4 N7 X8 k; h - Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>"); * I' K+ a. l$ M- L
- Response.Write("</div>");
' O- _% @6 S+ W - }
: B* N l# _( B - else{ 0 O* N7 Y# H9 z9 K$ K8 M2 @. w
- Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl;
1 N0 i5 Y0 T& [ - Response.Write(send_request(Surl));
G6 ]1 s k4 ]" Y$ h$ Q G$ t - } : [9 W! {% _& q3 e& m; G6 m
- function send_request(url) { + v9 k. a& g" q
- var codedtext; ; L8 y- {: k+ t0 s0 _! Y" J
- http_request = Server.CreateObject("Microsoft.XmlHTTP"); 1 B0 n' t1 \7 Q1 E; q6 x
- try{ ; a. a6 c2 b/ [9 s& w. q/ J; S$ n
- http_request.Open("GET",url,false); ! z# |. {0 S1 }$ `% b0 u
- http_request.Send(null);
) M. ]7 }+ b0 f& D+ g - }
6 u* y1 E& m+ \+ m! Q6 p }1 s- R - catch(e)
m% F1 F8 m4 _6 {5 i - {
9 p# e5 `3 `9 Z9 C8 p; Y - Response.Write(e.description);
+ E' j2 a/ b+ ~7 O8 z5 G - } 2 e e1 U6 U4 X+ M, N
- if (http_request.ReadyState == 4){ 9 ^8 |8 \2 }9 s7 x; Q
- //自動判斷編碼開始
& z) j" S3 x# ^/ I0 [. X - var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i); 3 j: h8 D! `: n& y" s" s
- if (charresult != null){
9 k2 Z0 Q' Y [- B! Y) y - var Cset = charresult[1];
, G" l I( D' ~ p - }else{Cset = "utf-8"} 1 H4 Z* Y2 U3 x( b! i3 B8 M
- //自動判斷編碼結束
1 l. g: \! f1 |& j- F - codedtext = bytesToBSTR(http_request.Responsebody,Cset); / J6 c4 _7 ?' C1 a, H) d& R: e
- }else{ 2 v1 ]( B2 c: H8 j; a+ q( ]9 V
- codedtext = "Erro";
$ H& b* c8 ]% x) ~' s - } 6 [2 V$ {/ @! R
- //替換超連接
' X7 a, C; r$ z% d/ S) s0 m - codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/");
: u! t8 S7 P, \& l' B - codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); 1 }; t3 v8 v( f6 Q$ _, f* l( |
- return(codedtext);
: R- G1 h/ E5 ~& B8 n - }
& Q) V2 ?) G c) ?+ u8 ? - function bytesToBSTR(body,Cset){ # `3 }; l* \' a1 l9 u1 G
- var objstream; ) r: E- l# _! |2 j1 q# d8 s
- objstream = Server.CreateObject("Adodb.Stream"); 7 X P2 U* p1 \3 c3 B1 B* S5 `
- objstream.Type = 1;
, T/ @2 X) U4 {) z$ y$ k6 m7 [ - objstream.Mode = 3;
" o& r* P/ ~) S: e( G6 v n3 g0 U - objstream.Open();
; i( |6 t) B+ ?. q5 k - objstream.Write(body);
+ _2 }8 f5 s5 ^' T5 S2 @ - objstream.Position = 0; ; Z! A! u" _( v& U! W# s) O
- objstream.Type = 2;
' \% v7 _/ J" M; }5 f - objstream.Charset = Cset;
( |. n* I! @" A( I2 D/ M) P - bytesToBSTR = objstream.Readtext; . u! m3 X7 d' D- U% {0 p* c' C
- objstream.Close;
! N5 V. @% H, h, p5 @ - return(bytesToBSTR); * e# K/ b$ g( d% C, a2 ]
- } + x( s- B9 H0 s7 i
- function SaveRemoteFile(LocalFileName,RemoteFileUrl){
! q4 o6 y3 l6 G- k. }1 Z - var Retrieval,Ads;
& a8 c* w& d5 k. G4 j - Retrieval = Server.CreateObject("Microsoft.XmlHTTP"); $ \& x0 B. K" \8 x& {: w1 | C
- Retrieval.Open("GET",RemoteFileUrl,false);
# X$ \( |; x0 D/ {2 E% I; w" n - Retrieval.Send(null);
2 {' i( g% K& L - if (Retrieval.ReadyState == 4){
: O' Z! R) y. Y+ P, X4 d) O- e; z6 P - Ads = Server.CreateObject("Adodb.Stream"); 6 e- L; a( v( J
- Ads.Type = 1; . S' @: m/ t. Z. A
- Ads.Open();
8 T) b$ L6 V1 Z" s: E - Ads.Write(Retrieval.Responsebody); $ [5 x/ }2 ~+ l( n
- Ads.SaveToFile(Server.MapPath(LocalFileName),2);
! W& c3 p) H4 D: O1 } - Ads.Cancel;
( u4 W+ z: u1 q" c1 R, B5 n - Ads.Close; 9 K8 x8 w: E6 [! I- s( j2 F
- }
2 A' M2 e9 O9 ]2 A - } . W0 u+ o# ?5 h7 B7 z
- //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif");
% }; i5 t! _5 W- t2 w3 E- Q - %>
複製代碼 |
|