- <%@LANGUAGE="JavaSCRIPT" CODEPAGE="65001"%>
6 Y/ `5 c1 X. Z0 m' O. Y - <%Response.Charset = "utf-8"%> 2 g. _( m/ B4 w
- <%
2 o; p& W5 s" _9 p! ~, g/ m% ~ - Server.ScriptTimeout=9999999;
- @, y) z! E8 T7 Y6 | - var Surl = String(Request.QueryString("url"));
- K/ E7 L2 _0 J! f- k# D6 ~ - if(Surl == "undefined"){
: |. r% c/ O7 Y. c - 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>"); % \: h! D" \8 x& `' N5 T) N0 T2 n
- Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
0 h; L% v; O" w - Response.Write("<form action="#" method="get" >");
# j9 W# |' G% V; m - Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">請鍵入網址</p>");
2 }" R- a& `2 z" _: f) e2 ` - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>");
$ c% L" @* E( ^1 [0 D7 T3 o - Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>");
' i2 ]- j. d d2 v' C - Response.Write("</div>"); ; P2 Q; P1 h$ K, K. {
- }
' O$ Q. |' O: I# @; S9 d" L9 Z" I - else if(Surl == ""){ $ U7 C$ I9 T9 F/ 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>");
$ U0 A$ ^, v6 U o6 A - Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
9 W& R$ {& K0 e( `# ]6 R - Response.Write("<p>您需要鍵入一個網址!例如: bbs.jgwy.net </p>");
, D/ d) O* M9 E - Response.Write("</div>"); 3 o1 c; `# w1 T( Q5 B2 y
- } 4 V5 `% r; U% ~% g' e3 C3 @7 @
- else{ 5 P0 D7 M% T6 m
- Surl = (Surl.substr(0,7) != "http://") ? "http://"+Surl : Surl; 0 Z& z4 s$ C' y+ \! r0 k0 N
- Response.Write(send_request(Surl)); 3 X, `" r- u5 Q1 t) f. l
- }
6 B& d; f6 G% r# Q% c - function send_request(url) {
Y, q; ~- P' Y6 { - var codedtext;
& c3 j! M; v5 v/ O; ~% t: o+ a - http_request = Server.CreateObject("Microsoft.XmlHTTP");
: P; p7 N" z, L) o - try{ & P+ a# i) \4 k2 g2 O
- http_request.Open("GET",url,false);
$ v, u: l E) q$ Z. b# j - http_request.Send(null);
, i( ~' d- a$ C/ s& Q - } - a' Z+ [6 g# J, v
- catch(e) + S6 u9 M2 f p4 v7 K8 t
- {
' k* q) x0 @0 H# ]* ], f8 p - Response.Write(e.description);
/ P% M# e( a8 Z: E - } . I6 }% d! F; S( X R; d( F
- if (http_request.ReadyState == 4){ + r# E& T4 `7 S( A2 B# l
- //自動判斷編碼開始 ( W; |+ b4 E+ R
- var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i); 6 ]1 x; Q& G3 o! u7 H ` j$ J
- if (charresult != null){ 3 I Y) b" b2 V+ E
- var Cset = charresult[1]; % M1 z2 K: S! ]
- }else{Cset = "utf-8"}
2 j/ t2 w' z% L$ g$ J" }+ D4 V - //自動判斷編碼結束 , m3 Z1 z! b' a9 S+ [6 r
- codedtext = bytesToBSTR(http_request.Responsebody,Cset);
9 g) y& S/ z8 `4 \! b, n7 G ? - }else{
+ e" V& M) |0 V6 Q) G5 ] - codedtext = "Erro"; O+ N4 e2 c5 @ Z8 ~
- }
8 u t5 ]; P7 i P, H/ O% r' A: J - //替換超連接
D4 x8 s8 {; t) v8 ^& H$ K+ O - codedtext = codedtext.replace(/href="\/?/ig,"href=""+url+"/"); # z1 Y, S5 q, J% H& O6 ]8 k
- codedtext = codedtext.replace(/(<a.*href=")/ig,"$1index.asp?url=");
5 c* C+ F; |- h; |) g) M3 k$ k: i - return(codedtext); # d& J2 w# U4 P; j' N. n- f
- } # C2 c/ ^- ~5 c: \
- function bytesToBSTR(body,Cset){ ! f B2 a7 k3 X7 D
- var objstream; * f3 b M/ }- O7 i s @4 g+ B
- objstream = Server.CreateObject("Adodb.Stream"); # Z! b7 e9 ]( \$ m
- objstream.Type = 1;
3 d: ^8 z# c. ~5 E) f1 @ - objstream.Mode = 3;
. l5 ]6 T5 h2 q( u& {6 C( Y" { - objstream.Open();
' {$ I5 A$ J5 t; k) \" a# M2 t$ r8 f - objstream.Write(body);
- ]1 x2 W1 O. E# y0 L: t: _( i5 X! B - objstream.Position = 0; 9 E6 R# X. E3 j4 r
- objstream.Type = 2; ' O0 Z1 {8 ]/ J
- objstream.Charset = Cset; & _9 C8 J( L" u o
- bytesToBSTR = objstream.Readtext;
/ h+ a% u" u! e2 ^- x, N- ^- U7 E+ n - objstream.Close;
0 g. c4 g/ i" _( E- f- I - return(bytesToBSTR); 5 k) [ g5 ^! k& l2 Q2 P
- }
* Q! J; s7 ]% F$ Z( F; ^& o - function SaveRemoteFile(LocalFileName,RemoteFileUrl){
\) E4 _, U% w8 o5 w% b2 b - var Retrieval,Ads;
! x, p, W6 ^, b - Retrieval = Server.CreateObject("Microsoft.XmlHTTP"); 7 J) Q* l, L3 y7 K8 q3 G/ z; `
- Retrieval.Open("GET",RemoteFileUrl,false); {7 u4 m1 g" z: g3 {
- Retrieval.Send(null); , \8 r/ f/ G$ }) ]2 |+ E' D
- if (Retrieval.ReadyState == 4){
! X. F% L! I( N; E; S' N - Ads = Server.CreateObject("Adodb.Stream");
5 ?# d3 Z' b) l# Z& {' a& c/ G! z - Ads.Type = 1; * s, ]6 R# V/ z! r R! Q1 k2 H
- Ads.Open(); 1 I. ?5 {0 h/ J) j
- Ads.Write(Retrieval.Responsebody); ) y$ ?" v2 }7 v/ o- }$ E# S
- Ads.SaveToFile(Server.MapPath(LocalFileName),2);
) K5 u1 }) f4 r4 x& J# ] - Ads.Cancel;
* f) I2 ^7 f% l8 S7 b9 m3 {/ ? - Ads.Close;
0 _- J/ j& P- ^ - }
, _2 p0 N# u7 g$ u% b - }
9 e4 F1 Y0 B8 v; j - //SaveRemoteFile("aa.gif","/XrssFile/2007-1/12/2007112124640411.gif"); / r9 L u" k: `' J
- %>
複製代碼 |
|