- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
. j5 Q: f! i+ R+ c; M9 P( e$ f - <%Response.Charset = "utf-8"%> ( \/ _2 c: d' U s" l
- <%
6 L) V/ B+ s$ M8 v7 u9 R$ l, c7 Z - Server.ScriptTimeout=9999999; + o2 `% t4 g% ]" Y. E
- var Surl = String(Request.QueryString("url")); : Q% B: _( \9 ^4 J9 y/ y$ g5 n$ o
- if(Surl == "undefined"){ * g6 B( m2 J N
- 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>");
8 D# n6 g( \6 v4 J z - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
- g+ [6 i' h. ^' I - Response.Write("<form action="#" method="get" >");
. p3 R) I! `% w4 P) D" O2 [1 J - Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>");
8 k) h2 ?4 [0 O2 f4 h$ [ - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>"); 3 X: J6 N1 O! ^$ [6 ?
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>"); ! X8 Y& {7 R0 m
- Response.Write("</div>");
- l. B- n+ Y f% S7 I. ` - }
% P! q7 I5 [7 ^. E- W/ k - else if(Surl == ""){
5 F, Q3 P; M: Y$ R- } - 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>"); 3 W( @8 a% j- t) Y, {
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
9 V# Z+ ^ ]. w- y! q* p. }% D - Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
) f9 e* V6 x8 J+ A) _ - Response.Write("</div>");
. z$ f+ [% h* |1 b - } & F' X& `" N% }
- else{
0 K# X* @9 J5 ^- b4 q& }9 W - Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; ( g$ z: M. U+ z( g
- Response.Write(send_request(Surl));
/ C& e! X8 V% Y; p7 E. J5 Q0 q - } 6 m+ e; X. n% H8 E" e
- function send_request(url) {
! l% p! E2 C% w5 y0 b6 B, V5 ] - var codedtext; 0 G% O- _9 f W9 N
- http_request = Server.CreateObject("Microsoft.XmlHTTP");
5 B0 z% ^7 C4 k/ D - try{ ! g7 t' i5 x6 f' r- U5 b
- http_request.Open("GET",url,false); ) \# e7 n' v; t! s9 S5 i$ m; G, U
- http_request.Send(null); " } }5 W* X/ _' K9 k1 W
- } 5 u9 p, F: c6 B2 Y
- catch(e) ' h' ]& y& N/ c9 }
- {
2 p$ u* E! J* \* d1 u7 u - Response.Write(e.description); ( Y' j4 s8 f' R) k# c
- }
4 @# T$ n1 m4 m& f; ]; ?5 _ - if (http_request.ReadyState == 4){ 9 t9 q0 B7 H! c+ F: K- T& c
- //自動判斷編碼開始
) j' n k* O, O+ B2 ` - var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i); 3 U. s6 o+ ]9 G- J7 p. k# x% y
- if (charresult != null){
n+ w9 j; V4 Z% s+ N - var Cset = charresult[1];
0 N! y9 e& u$ v5 `% i# P% Y - }else{Cset = "utf-8"} 3 D8 V. `/ I/ Y; Z$ I
- //自動判斷編碼結束 4 J- E& a! K T, U& h
- codedtext = bytesToBSTR(http_request.Responsebody,Cset);
z* [/ f; ]' [ - }else{
$ }/ y( |1 d+ D: o( s2 Z i9 i - codedtext = "Erro";
: Y+ f& F% Q8 G - } 5 u. s: O6 x% r5 s/ T0 |
- //替換超連接 % x* E t# Y; p7 c& j D
- codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/");
8 a7 a0 i" B$ P- G) U* B) h) A! D - codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); 7 N$ H- M1 J8 ~ h7 X0 m3 x
- return(codedtext);
8 ^5 k, J3 X$ G; V% l" t4 M0 |5 } R - }
9 y3 d6 R6 H2 y n* s, G - function bytesToBSTR(body,Cset){
9 V8 v. `5 ?: S% k8 K - var objstream;
/ @9 f4 l. I* z6 \- |$ } - objstream = Server.CreateObject("Adodb.Stream");
7 h0 O3 V! |% @( M2 h1 i% r - objstream.Type = 1;
/ e' b+ @4 Q4 d" F) _ - objstream.Mode = 3; + |0 [2 R# o9 Q
- objstream.Open(); 1 ^' H- @) J: b2 x3 L5 n
- objstream.Write(body);
3 O& R& X) u; X: U - objstream.Position = 0;
8 @$ A6 }' v, s% V( H7 A/ V - objstream.Type = 2;
# q( O* O% m) e/ t - objstream.Charset = Cset; : D8 s. S& z$ G- q4 A
- bytesToBSTR = objstream.Readtext; 5 c2 g8 Z/ g3 W+ s q. [) @! Y
- objstream.Close;
# U9 K& \; d, g0 |$ ^! r - return(bytesToBSTR); 6 m& C! }( Q. E4 `) P
- }
- v0 w( K) U2 p/ o1 a - function SaveRemoteFile(LocalFileName,RemoteFileUrl){ ! e5 @9 R& E. J W* I8 i
- var Retrieval,Ads; : y6 `- P1 d* t3 o! j" W( \
- Retrieval = Server.CreateObject("Microsoft.XmlHTTP"); 4 w) {: j ~$ H$ { _
- Retrieval.Open("GET",RemoteFileUrl,false); - o, S- `+ y" @4 C, N9 W
- Retrieval.Send(null); % n% I- G: e6 x9 x: O$ E
- if (Retrieval.ReadyState == 4){
8 H4 `3 e9 P% L' P! z - Ads = Server.CreateObject("Adodb.Stream"); . m3 [. C5 x0 S1 P) p; h' b
- Ads.Type = 1; 9 M* d+ o4 X! c: F* F
- Ads.Open(); 9 a7 Q$ f+ r* W0 F
- Ads.Write(Retrieval.Responsebody); 5 [! S8 |9 V L3 H: ^8 d
- Ads.SaveToFile(Server.MapPath(LocalFileName),2); ! `/ I1 i W1 l; I) n
- Ads.Cancel;
( ?- S& j; q7 s" k/ ~, \ - Ads.Close; 8 g8 w" z8 }+ f! t6 i$ I7 w5 g
- }
' e! n/ n2 ]$ `$ L! U/ B - } 4 E ]$ h6 [8 N) U& k
- //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif"); ( ^7 v2 B+ v5 l/ L% _
- %>
複製代碼 |
|