Agente online web (versão Asp)
Autor:Eve Cole
Data da Última Atualização:2009-06-23 17:01:33
O software proxy da Web escrito em asp pode ser usado para romper restrições de gateway, etc. É usado principalmente com Ajax (devido a problemas de acesso entre domínios no Firefox) Versão 0.1 Autor LlinZzi
A função determina o código do site, suporta conversão automática de hiperlinks em qualquer idioma e possui uma função não resolvida para download remoto de imagens. Atualmente, ela só pode ser usada para fazer proxy do código do site, e o encaminhamento de proxy de imagens e outros dados ainda não foi feito. concluído.
[Copiar este código]CÓDIGO:
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Response.Charset = "utf-8"%>
<%
Servidor.ScriptTimeout=9999999;
var Surl = String(Request.QueryString("url"));
if(Surl == "indefinido"){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;borda: 1px sólido #999999;">Proxy Asp por Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;borda: 1px sólido #999999;">");
Response.Write("<form action="#" método="get" >");
Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">Por favor, insira o URL</p>");
Response.Write("<p><input style="background-color: #FFCCCC;borda: 1px sólido #999999;" type="text" name="url"></p>" );
Response.Write("<p><input style="background-color: #FFCCCC;borda: 1px sólido #999999;" type="submit" value="GoWeb"></p>" );
Response.Write("</div>");
}
senão if(Surl == ""){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;borda: 1px sólido #999999;">Proxy Asp por Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;borda: 1px sólido #999999;">");
Response.Write("<p>O endereço está vazio, insira-o no formato como www.tom.com </p>");
Response.Write("</div>");
}
outro{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Response.Write(send_request(Surl));
}
função enviar_solicitação(url) {
var texto codificado;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
tentar{
http_request.Open("GET",url,falso);
http_request.Send(nulo);
}
pegar (e)
{
Response.Write(e.descrição);
}
if (http_request.ReadyState == 4){
//Determina automaticamente o início da codificação
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
if (resultado de char! = nulo){
var Cset = charresult[1];
}else{Cset = "utf-8"}
//Determina automaticamente o fim da codificação
texto codificado = bytesToBSTR(http_request.Responsebody,Cset);
}outro{
textocodificado = "Erro";
}
//substitui o hiperlink
textocodificado = textocodificado.replace(/href="/?/ig,"href=""+url+"/");
textocodificado = textocodificado.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
return(texto codificado);
}
função bytesToBSTR(corpo,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1;
objstream.Mode = 3;
objstream.Open();
objstream.Write (corpo);
objstream.Position = 0;
objstream.Type = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Fechar;
return(bytesToBSTR);
}
função SaveRemoteFile(LocalFileName,RemoteFileUrl){
var Recuperação,Anúncios;
Recuperação = Server.CreateObject("Microsoft.XMLHTTP");
Retrieval.Open("GET",RemoteFileUrl,falso);
Recuperação.Enviar(nulo);
if (Retrieval.ReadyState == 4){
Anúncios = Server.CreateObject("Adodb.Stream");
Anúncios.Type = 1;
Anúncios.Open();
Ads.Write(Retrieval.Responsebody);
Ads.SaveToFile(Server.MapPath(LocalFileName),2);
Anúncios.Cancelar;
Anúncios.Fechar;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>