- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
7 ]) d. z/ t7 }. e/ Y+ ~ - <%Response.Charset = "utf-8"%>
3 W8 L* v8 V8 G - <% $ a F# G, f/ }, z8 z
- Server.ScriptTimeout=9999999; # z$ C3 L z U* O {/ ^) j/ F! W
- var Surl = String(Request.QueryString("url")); 0 J% P8 J9 |1 A. Y, h: y7 G
- if(Surl == "undefined"){ - k( \" q2 P; \& r! B
- 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>");
7 f1 p. L+ d) a& U( x } - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
7 L9 z5 o+ F+ _. n) U5 [5 } - Response.Write("<form action="#" method="get" >");
7 K) c0 C3 }; V0 X - Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>"); 3 T6 N+ R1 f- ]* _9 P1 B! ?
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>");
5 `: O. J) N5 J* w# U6 r# f - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>"); ( r/ b8 n- L+ K& i! j* i8 c) v
- Response.Write("</div>");
7 d' b+ v S* ]3 o7 O8 t) ` - } % R4 ]# W1 X6 i, |
- else if(Surl == ""){
' a! m* S$ q0 a4 ^& z5 ]+ k7 K - 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>"); - B- H& v7 c: p
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
7 m2 F6 H6 U M$ m0 N0 t - Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
. X5 {* h6 r2 ?7 N. t8 g" |9 Y3 u* M - Response.Write("</div>");
- r; \, j1 a* ^/ d p6 v( { T - } s6 H8 U3 E8 a& q3 P# O+ J# b8 Y
- else{
) _2 m+ B- X* {6 _7 M8 A/ ~" Z7 _5 `0 y - Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; 3 s& y- r* w Q" n! a4 E% @
- Response.Write(send_request(Surl)); * m7 K: Z9 c1 w6 @) b
- }
. w* H& q1 S! m3 ]5 c- Q - function send_request(url) {
. T9 g/ c, z5 S9 S; u( _! I. i( u# J - var codedtext;
* k6 g' B$ u& H4 r - http_request = Server.CreateObject("Microsoft.XmlHTTP");
* ]9 s& N2 N8 T. G - try{
8 M* P n5 R* D - http_request.Open("GET",url,false); & X6 k7 P9 k1 i& m0 _
- http_request.Send(null); 3 K7 w1 G: k- F- N1 ~ ^
- } 8 Y2 o8 E- S+ b
- catch(e)
1 n5 v9 Y! _- R4 q - { 9 R* _" f# y' ^3 K5 A7 }+ c+ U
- Response.Write(e.description); : }5 g& t; d. Z. X. {
- }
2 C7 g' h Q* D ?$ W& ~ - if (http_request.ReadyState == 4){ , a V( f6 S' I
- //自動判斷編碼開始 + D! m# y0 r2 q) [* D; v/ h+ I
- var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i);
7 Q" Q8 d; s" [) A( \8 A* B. N& R - if (charresult != null){ % y) S! s: \6 f" D( A
- var Cset = charresult[1];
9 ^% [* r3 M8 } g - }else{Cset = "utf-8"}
0 S, W$ G+ a. U7 i - //自動判斷編碼結束 - w$ [" y- ? ]/ c& r2 ^9 p
- codedtext = bytesToBSTR(http_request.Responsebody,Cset); : U6 x" i: _; Y0 N* _
- }else{ G- V8 [" m7 G. V! q& A0 ~, j2 p
- codedtext = "Erro"; 9 Y, ?# Z) i) f" }% D
- } - f5 [1 R% d. d u
- //替換超連接 . w; |& e6 M" A% I- z8 ^
- codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); 2 x6 ?! C% \; M$ |) x
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); + [2 @8 |! M; v- @; x2 K: k
- return(codedtext);
, }: M7 I; s# \0 [* Q2 a/ N - } : a4 l) p3 L; ]' F3 U
- function bytesToBSTR(body,Cset){
- k- X# u& z1 p& P# o/ X6 }2 j - var objstream;
2 F- _* A9 W/ U$ a- x ] - objstream = Server.CreateObject("Adodb.Stream");
' z' L/ D+ X ~! J7 D - objstream.Type = 1; $ w7 s8 B2 v' u$ M2 \
- objstream.Mode = 3;
' `- s4 W: b% r! b9 W b! X0 F - objstream.Open();
! r" k4 I5 ^, `0 R' m# w2 s7 h - objstream.Write(body);
% N6 v1 j, G2 ~, k - objstream.Position = 0;
! R# f T: f6 }0 s2 C - objstream.Type = 2;
1 V; ~. c; k) B8 G5 L - objstream.Charset = Cset;
2 b( L0 v9 F0 M8 F' E z% z3 } - bytesToBSTR = objstream.Readtext; E" f+ P" N) S: s) C
- objstream.Close;
0 X4 r( h# K4 g& t1 t - return(bytesToBSTR);
3 _4 C' z8 Q9 h5 F G# K - } 7 D2 [; a6 }$ O- E6 x% D: X
- function SaveRemoteFile(LocalFileName,RemoteFileUrl){
/ D3 H" c. A$ E+ [0 a+ e. O( [7 w( v$ \ - var Retrieval,Ads; & l3 z) D# B5 \ C9 w8 x. I& l
- Retrieval = Server.CreateObject("Microsoft.XmlHTTP"); . j: M/ f& t' J. b, _
- Retrieval.Open("GET",RemoteFileUrl,false);
3 y4 V J4 T" k* ? - Retrieval.Send(null);
+ {; l- K$ Z l; W - if (Retrieval.ReadyState == 4){
5 }& q* s {; v" @+ {" b - Ads = Server.CreateObject("Adodb.Stream");
% |9 X4 L$ C& V' [5 Z1 t - Ads.Type = 1; & i M3 |3 p3 D0 }; v" Q
- Ads.Open(); / t6 w7 C" z# U7 ]! p$ Y' g0 x
- Ads.Write(Retrieval.Responsebody);
8 L" B0 i5 p$ \ - Ads.SaveToFile(Server.MapPath(LocalFileName),2);
) d* n* F6 Y9 ?$ U. O - Ads.Cancel; % o4 Y9 y9 I# d, K2 M- j- ^; q
- Ads.Close; - D4 F4 o/ b, _% ?! m+ S5 ]
- } A% J; B! w" d, b7 s
- }
) F; k& b) I9 b. n: M3 o6 V - //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif"); ; s/ }& [$ d+ r4 R6 k: K
- %>
複製代碼 |
|