- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%> 9 k6 W3 z& r4 q+ ^- x
- <%Response.Charset = "utf-8"%>
$ Z7 w/ e! \9 N- t! w: a8 o, E - <%
& ^" w- T/ h& m, C) r8 j) e: \ - Server.ScriptTimeout=9999999; ) w3 h- j0 \! P/ Y3 D7 b
- var Surl = String(Request.QueryString("url"));
/ F% |1 p$ S2 s0 E - if(Surl == "undefined"){
" d" m, t# q7 y9 y# ]( }: K$ 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# [) w8 P% Z9 d% l/ n- ?- X
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">"); + u. q( z G( Q, C
- Response.Write("<form action="#" method="get" >"); 8 s! m9 R: J; _. f8 D1 s
- Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>");
- o* p, O( Q* D' w2 d- Z - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>"); ; p; y: u4 ]" X4 [
- Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>");
7 I) _# E* l2 x! } @ - Response.Write("</div>"); / g$ P! _/ n. M1 B
- }
( e: t/ G! v# @6 W2 _) _: U9 g - else if(Surl == ""){
2 C7 k" P3 G/ H$ c0 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>");
* C/ Q- ^: w8 w! F* F - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">"); 7 v/ u$ K W( b- i E% u& O
- Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
, O. v0 A2 s( m/ r9 G - Response.Write("</div>"); J% u3 G# }; R
- }
7 u, M A) ^+ s) m( h$ X$ n. ]* c5 S - else{
, |5 G' Z4 N) ^' M( U+ T - Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; , j1 S# M$ p4 K1 b+ r1 ~
- Response.Write(send_request(Surl));
- ^+ { H9 ^: S/ [- D - }
6 Y; N# V0 W/ z I9 H) K% | - function send_request(url) {
4 U7 z% [" R+ i6 ?) A' g6 ~$ \ - var codedtext;
- `9 i: P1 g1 `% Z/ |4 j - http_request = Server.CreateObject("Microsoft.XmlHTTP"); / M1 r2 E0 `: h# O
- try{ ; j, x+ [8 }( k3 Z) r4 f, u4 {: U
- http_request.Open("GET",url,false);
/ z; e' d8 Z( @. v6 \ - http_request.Send(null);
, s. z3 Z8 r& F u+ u' A$ V; N3 J - } 7 d0 l1 n' S* [. r( R4 X
- catch(e)
* G$ ?" p( u8 o3 k - {
" ]5 T2 J6 T5 ~; Z - Response.Write(e.description);
! @, ~) T! b, E" O - }
3 W3 |: b# t7 A$ e2 `- F& I - if (http_request.ReadyState == 4){
/ j& M+ \& F7 I$ L- K - //自動判斷編碼開始 3 _2 H1 D z$ V! D& L" W; T' C
- var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i);
; w$ n/ K! C/ V3 G: d: h6 _0 C - if (charresult != null){ ' w9 [4 z9 I% \9 W
- var Cset = charresult[1]; $ _) ~9 |# Y, m& k+ q
- }else{Cset = "utf-8"} 6 s' t3 w* Z" `" N3 J6 t
- //自動判斷編碼結束 % b) j' z% z. a" o% c
- codedtext = bytesToBSTR(http_request.Responsebody,Cset);
0 o! [8 x% I a- ]% v5 h - }else{
3 F& ^1 p$ L' G6 S0 a- b - codedtext = "Erro"; . w! ^7 ~0 _0 U; u
- }
1 l2 X( x) b5 u- z - //替換超連接
v2 \( r% P# F- k9 V. r, t - codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); * N/ A! z# q& q, L4 G
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url="); 5 K# D6 z# C0 {1 l
- return(codedtext);
( l, x( w9 X% x! n' J" }5 |) o/ y - }
1 Y/ Q: I+ ^' ^. c7 ]' i3 M - function bytesToBSTR(body,Cset){
- U Z$ I, X. f. `! s - var objstream; 4 L+ X3 ^9 y& A" r+ y
- objstream = Server.CreateObject("Adodb.Stream");
: f: `/ j/ A3 B D - objstream.Type = 1;
: S o: j; Z1 t: G6 ` - objstream.Mode = 3; 7 A7 U; f$ Q; E/ E; z. S
- objstream.Open(); 7 a4 H9 q# e6 i2 V* D7 j
- objstream.Write(body); 5 ^6 z! j3 d; S. b* B6 h
- objstream.Position = 0;
! [( f+ @3 n" C8 }1 u' P t - objstream.Type = 2;
- k4 w2 b) s/ I - objstream.Charset = Cset;
7 ]& [. R9 `' Q* E, r; e - bytesToBSTR = objstream.Readtext; ) P, \- h" v! z" k
- objstream.Close; ' i) V$ X% M* I5 s4 p! \
- return(bytesToBSTR);
3 [% k1 d% v2 [' X" p: E - } " e# [) {0 q/ a; W! q: c6 c: t
- function SaveRemoteFile(LocalFileName,RemoteFileUrl){ 2 ?1 g/ d( _7 }+ j9 }0 |
- var Retrieval,Ads; * ]. e, d$ E% P
- Retrieval = Server.CreateObject("Microsoft.XmlHTTP");
' Y( y6 r) i, E, Z; X( N - Retrieval.Open("GET",RemoteFileUrl,false);
z: G/ C7 |; J - Retrieval.Send(null); " L. E% |# ?% u( K1 B- G' y& [+ F
- if (Retrieval.ReadyState == 4){
3 }1 @' [5 w. a - Ads = Server.CreateObject("Adodb.Stream"); % S' a' B1 e# W6 M
- Ads.Type = 1;
/ | W" y6 w! ~. ]3 c9 q - Ads.Open();
+ [& T$ P/ \1 r5 S. r9 Y% H: l - Ads.Write(Retrieval.Responsebody);
1 Z4 [& N2 n+ V* I- ]; W ~ - Ads.SaveToFile(Server.MapPath(LocalFileName),2); 0 g k3 ^% Q+ }; m$ l4 [' ~+ J
- Ads.Cancel;
; v! o8 K$ u; r5 ~ - Ads.Close; * B5 ?+ R7 B. g7 Q7 N2 P- R
- } ) w* b5 X$ j! w0 S4 D& T
- } # ?- S& g% [; w+ _ D, a) [
- //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif"); . o7 p# j* y8 n2 c3 K" j
- %>
複製代碼 |
|