- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
& d k; _9 Q( ^9 Q - <%Response.Charset = "utf-8"%>
; [ m0 w8 D8 g1 ^, z: \" U - <%
Z& `, Y9 M5 s9 Z, ?' W - Server.ScriptTimeout=9999999;
% q" S$ L9 t5 Y - var Surl = String(Request.QueryString("url"));
& n7 u- H& g1 H* U - if(Surl == "undefined"){
l' X% s; t$ F7 g8 r( T9 Z& 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>");
1 M- |8 _/ M1 i4 z' \6 V! v - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
- m& t1 r) q" S. g+ `" N8 o' x - Response.Write("<form action="#" method="get" >"); # }6 t2 j6 N, O& W* b4 a
- Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>"); 2 _" _1 U' R- w4 [# V
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>"); * P7 X2 K5 ^3 V/ {/ O" |; h) ~
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>");
0 ~9 }& I' ~' y$ D - Response.Write("</div>");
8 j1 d3 H* E9 |- S/ j1 ?+ ` - }
( T+ h. a0 M4 q) Y# d - else if(Surl == ""){
* A0 s# [8 k& x* l* R 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>");
* g' i+ D0 f u2 ?$ ~2 S. h7 | - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">"); " Q; G! q0 _9 t2 @. Y
- Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>"); / m2 y+ z3 L: U3 T6 [" f
- Response.Write("</div>"); ! A- E8 K& e# X
- } " M1 `* S- \. g0 _1 t
- else{
3 `" Q9 @' Z0 u _ - Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl;
- D' h z& B% c; V2 n' L; O - Response.Write(send_request(Surl));
8 H. K3 M6 v' U, L u - } ! [( g1 C2 |3 S {8 [! \4 ~) a
- function send_request(url) { ( d1 J% M! |# {; l/ j6 g
- var codedtext;
5 u8 B* R3 }. ~/ h - http_request = Server.CreateObject("Microsoft.XmlHTTP");
/ m' o+ R8 T4 y! B4 Z! P) @ - try{
- c! N" ], M* G; L. {. l/ z5 u - http_request.Open("GET",url,false); & `7 t; s% S, u; \
- http_request.Send(null);
7 D# F: e" F' O' s ]$ }% s) c - } 3 Z: z& J5 n5 i- l+ |4 {2 g7 M; l
- catch(e)
% I% {" `& ^: {5 D# ?) m) i - { % b& s0 K- c2 n6 V- ?5 ?; k$ S
- Response.Write(e.description);
; ]$ H3 F+ ^6 Q) U4 { - } ( _! \0 A1 v. c
- if (http_request.ReadyState == 4){
& t# X9 Z: C) g4 C - //自動判斷編碼開始 9 J" d3 u' K4 y/ T' V
- var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i); ( q8 G+ e" D$ y }* }
- if (charresult != null){
* a$ I4 ]& F/ ]. ~ a$ x* {" n1 ]& I - var Cset = charresult[1];
% A; I6 u; ^. q" s, D+ ? - }else{Cset = "utf-8"} ) e* q5 o% T( i+ H8 O6 F! k
- //自動判斷編碼結束 ; ^7 r2 V5 e) R9 D
- codedtext = bytesToBSTR(http_request.Responsebody,Cset);
6 K: C- B, `/ \" b- F+ S/ T) h - }else{
, n0 p1 u5 B8 O' G `" P( w2 a' j" U - codedtext = "Erro"; 0 J+ n# h9 F/ p' R* p' Y9 v
- } ) N7 f+ D1 c0 N+ W, r, ~3 k
- //替換超連接
4 r, K4 I. l0 H, y" X f) t( `# U - codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); 7 G3 O! I. r( \8 w$ O
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); $ t, h( H0 n! A6 {. B2 A- x
- return(codedtext); ( I- _6 w9 s# j
- }
* L# x* U. S5 |7 M j7 \) L/ S - function bytesToBSTR(body,Cset){
- F/ o: A8 v, h; ?- u - var objstream;
6 z* y2 e0 v: S! z( J5 O - objstream = Server.CreateObject("Adodb.Stream");
+ J% @6 g& V0 D; l! v( S/ @7 E J+ [ - objstream.Type = 1; / ]- v, b2 k! d
- objstream.Mode = 3;
2 t. ~' l$ l L0 D' H( q; d - objstream.Open(); + j$ x$ M% K7 z }2 ^$ U9 N; I, F
- objstream.Write(body);
7 ~0 L9 p3 Y u/ F P - objstream.Position = 0;
: u* a' W. n3 N' j2 J - objstream.Type = 2; : X; f6 Q, x7 H" `! `3 e2 w
- objstream.Charset = Cset;
: A; O2 i6 `7 D5 P0 v6 y2 `' \ - bytesToBSTR = objstream.Readtext; 6 `1 s! x; X& ^ m. z
- objstream.Close; ( O4 C* O: W7 u. n) U' T% Y
- return(bytesToBSTR); . h( t. Z" t& P. m! H
- }
1 U2 h9 J6 a& T- }% _: G( N - function SaveRemoteFile(LocalFileName,RemoteFileUrl){ $ u6 l5 p4 j6 `7 R5 d
- var Retrieval,Ads;
# w5 l: Z: N" E - Retrieval = Server.CreateObject("Microsoft.XmlHTTP"); 5 ]8 {% L; K& {7 p T8 `& j
- Retrieval.Open("GET",RemoteFileUrl,false); 0 b5 H/ f% H$ @' P
- Retrieval.Send(null);
+ R, D& O* C% _) {, H% Z - if (Retrieval.ReadyState == 4){
) Q1 X! J% J5 C - Ads = Server.CreateObject("Adodb.Stream");
J9 M" `6 u% {8 r; D - Ads.Type = 1; 8 X' y/ ]! Y( a4 d* p, n
- Ads.Open();
/ ~, H% p8 x9 p4 k - Ads.Write(Retrieval.Responsebody); ; ?6 n8 L' y% c2 V5 Z; T; b* z0 b
- Ads.SaveToFile(Server.MapPath(LocalFileName),2);
. }- z. s9 h* X. m4 w' p' o- I7 u - Ads.Cancel; , P6 a& S, n$ C. b- A) W- |3 z
- Ads.Close; 3 }0 Q6 p( j+ W- G. \
- }
7 ^5 _( n/ \! |% G+ g - } - w5 i; X4 h5 l1 N. _4 Q0 N6 o' M
- //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif");
7 J5 B/ N* I' t' E - %>
複製代碼 |
|