Web online agent (Asp version)
Author:Eve Cole
Update Time:2009-06-23 17:01:33
Web proxy software written in asp can be used to break through gateway restrictions, etc. It is mainly used with Ajax (due to cross-domain access problems in Firefox) Version 0.1 Author LlinZzi
The function determines the website code, supports automatic conversion of hyperlinks in any language, and has an unresolved function for remotely downloading pictures. Currently it can only be used to proxy website code, and the proxy forwarding of pictures and other data has not yet been completed.
[Copy this code]CODE:
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Response.Charset = "utf-8"%>
<%
Server.ScriptTimeout=9999999;
var Surl = String(Request.QueryString("url"));
if(Surl == "undefined"){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Asp proxy by Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
Response.Write("<form action="#" method="get" >");
Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">Please enter the URL</p>");
Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="text" name="url"></p>" );
Response.Write("<p><input style="background-color: #FFCCCC;border: 1px solid #999999;" type="submit" value="GoWeb"></p>" );
Response.Write("</div>");
}
else if(Surl == ""){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Asp proxy by Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
Response.Write("<p>The address is empty, please enter it in the format such as www.tom.com </p>");
Response.Write("</div>");
}
else{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Response.Write(send_request(Surl));
}
function send_request(url) {
var codedtext;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
try{
http_request.Open("GET",url,false);
http_request.Send(null);
}
catch(e)
{
Response.Write(e.description);
}
if (http_request.ReadyState == 4){
//Automatically determine the start of encoding
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
if (charresult != null){
var Cset = charresult[1];
}else{Cset = "utf-8"}
//Automatically determine the end of encoding
codedtext = bytesToBSTR(http_request.Responsebody,Cset);
}else{
codedtext = "Erro";
}
//replace hyperlink
codedtext = codedtext.replace(/href="/?/ig,"href=""+url+"/");
codedtext = codedtext.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
return(codedtext);
}
function bytesToBSTR(body,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1;
objstream.Mode = 3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Close;
return(bytesToBSTR);
}
function SaveRemoteFile(LocalFileName,RemoteFileUrl){
var Retrieval,Ads;
Retrieval = Server.CreateObject("Microsoft.XMLHTTP");
Retrieval.Open("GET",RemoteFileUrl,false);
Retrieval.Send(null);
if (Retrieval.ReadyState == 4){
Ads = Server.CreateObject("Adodb.Stream");
Ads.Type = 1;
Ads.Open();
Ads.Write(Retrieval.Responsebody);
Ads.SaveToFile(Server.MapPath(LocalFileName),2);
Ads.Cancel;
Ads.Close;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>