- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
) z7 v; ] X, B8 w3 \$ C - <%Response.Charset = "utf-8"%>
0 c# V2 G6 g6 n/ z# M - <%
* l7 v6 x! n7 W4 k/ }5 f+ L - Server.ScriptTimeout=9999999; # J/ b9 A0 N% t. l
- var Surl = String(Request.QueryString("url")); , o1 l: a- w; Z# ?
- if(Surl == "undefined"){ 1 H, k7 X8 j" n) s
- 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>");
1 M2 j6 J4 [$ L - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
& T4 B3 P1 J- S* h7 v# S' C# _ - Response.Write("<form action="#" method="get" >");
& q h/ h7 A2 O6 \9 w$ \ - Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>"); 3 f8 ?5 v- v$ a5 j% Q" Y
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>"); : x& F6 y9 `: o! G' T2 C/ A
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>");
+ G& [7 ~2 |2 g* f( C - Response.Write("</div>");
# j. g3 C% x& [2 e* e - } * _0 }' k$ I9 Z6 n: z# `: @, w( n# X! t
- else if(Surl == ""){
9 y6 Q3 R6 g. X" b# q( M, f - 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>");
& a# M9 t ?( a+ O3 Z% ? - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
4 p9 R8 o( |- c! Q - Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
% ^3 @9 S4 A7 W0 ^2 l N6 L - Response.Write("</div>"); 0 [# ]% v* h! w
- }
; Z$ @" C }+ P+ v - else{ ! n3 M. r+ v" s2 f; t9 d. G$ R6 B
- Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; / q+ |6 r: l! s2 q! `: n* Q; Q
- Response.Write(send_request(Surl)); ) s/ a& R: k) n" W- W. `) b1 [, a
- } , I, b+ C8 d) l5 ~
- function send_request(url) { 8 `, N0 D' V! A6 [% K* i
- var codedtext;
6 h3 ^# O x6 Q/ K6 v2 ]" X - http_request = Server.CreateObject("Microsoft.XmlHTTP");
6 s0 ^9 F% a1 ~3 u5 t+ Z8 s - try{ 7 h7 Q/ r" s5 R
- http_request.Open("GET",url,false);
$ F3 ?/ J7 |6 S# p0 F: n( O: @0 w - http_request.Send(null); . z+ A5 {1 f/ }& V2 D$ X$ H% v
- } # N+ K, f) k' c
- catch(e)
* f! C8 ^. [. U- v - { / W; a# c' W& k" A
- Response.Write(e.description);
) k! v% c; j- p - }
- e/ \/ R( q; Z0 H7 E - if (http_request.ReadyState == 4){ / I2 {- L' n* @4 J6 @
- //自動判斷編碼開始 4 P1 `# ]4 Y) e" U' ?3 p
- var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i); / w3 D5 b2 d# [; }) v8 Z
- if (charresult != null){
2 b0 U; r9 d2 w7 w; v4 v - var Cset = charresult[1]; 4 [9 H6 K, _/ t; C( G" M/ x$ u
- }else{Cset = "utf-8"} 4 T2 S; L' Y' ?
- //自動判斷編碼結束 - l- z1 ~& `- J% R
- codedtext = bytesToBSTR(http_request.Responsebody,Cset); , y5 N) }! }) n$ p: F: |: m
- }else{ h# S" E+ U3 Q( Z0 \- v
- codedtext = "Erro"; * D$ {7 Y9 ^' c% f- I
- }
* B. n8 m5 R* ~: }" Y* N - //替換超連接 ' t+ g* `- Y; |8 d
- codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); 2 E! x/ A# v+ d3 U
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url=");
( O( f8 U5 ?7 A9 p( u - return(codedtext); + T6 Z, q* z" O. m% i
- } ( J }% E" r6 S: k6 i
- function bytesToBSTR(body,Cset){
3 C4 s/ |. Z. {; J& m - var objstream;
1 u" {8 z9 f3 m6 B1 t - objstream = Server.CreateObject("Adodb.Stream"); ; }6 t# |$ |' ?6 i H( D9 \
- objstream.Type = 1;
% w. e/ ]- F9 l. o4 }9 ?# W - objstream.Mode = 3; ; y1 b7 _) T* s# S% o3 j
- objstream.Open();
4 S% V# u4 K# y+ g7 X - objstream.Write(body);
& C$ v* A9 n5 F& U1 f- w - objstream.Position = 0;
. ^! I! t. z5 L! l% C5 h4 h - objstream.Type = 2; ! O5 ^" [' y/ x- B& X. O4 l) k
- objstream.Charset = Cset; : B2 A- [. Q h2 c* `. a% `
- bytesToBSTR = objstream.Readtext; 3 d; f9 ~2 `, E* m& c! u3 Z
- objstream.Close;
% U: I8 `4 H3 ]1 `/ ]" x - return(bytesToBSTR); ! h* u v& [8 I3 N1 u) o& \
- } " E) w/ P9 I9 }2 W0 b2 n
- function SaveRemoteFile(LocalFileName,RemoteFileUrl){
8 p9 d$ t( t/ _/ ^ - var Retrieval,Ads;
2 F* v1 {: j$ E5 Q; Q$ r& T - Retrieval = Server.CreateObject("Microsoft.XmlHTTP");
( u4 y' [ e- f4 i4 s8 { - Retrieval.Open("GET",RemoteFileUrl,false);
' N, D7 U; X; W1 { - Retrieval.Send(null);
, M' X/ ]. U; }5 F1 G/ |$ A2 X - if (Retrieval.ReadyState == 4){
6 S5 b: f" ~' y - Ads = Server.CreateObject("Adodb.Stream"); 5 \+ R( ]! T+ O1 M) x
- Ads.Type = 1; ; Q F P# V: G P5 Y
- Ads.Open();
! S. N* q" p1 m" D N" m; I - Ads.Write(Retrieval.Responsebody);
7 A& R! h% s9 j7 f - Ads.SaveToFile(Server.MapPath(LocalFileName),2);
6 R5 S- \0 r: ?0 L! o - Ads.Cancel; 1 X7 _3 _/ H5 | t' \! ]7 L
- Ads.Close;
! y# w' o9 f5 ^ - } . Y' H# B5 W' C- H; W5 d
- }
3 ^- ]- z) b+ S4 |: U - //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif");
* ~7 `1 r/ ?: L8 s$ T) E1 M: c2 g - %>
複製代碼 |
|