Agente web online (versión Asp)
Autor:Eve Cole
Fecha de actualización:2009-06-23 17:01:33
El software proxy web escrito en asp se puede utilizar para romper las restricciones de la puerta de enlace, etc. Se utiliza principalmente con Ajax (debido a problemas de acceso entre dominios en Firefox) Versión 0.1 Autor LlinZzi
La función determina el código del sitio web, admite la conversión automática de hipervínculos en cualquier idioma y tiene una función no resuelta para descargar imágenes de forma remota. Actualmente, solo se puede utilizar para representar el código del sitio web y aún no se ha realizado el reenvío proxy de imágenes y otros datos. terminado.
[Copia este código]CÓDIGO:
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Respuesta.Charset = "utf-8"%>
<%
Server.ScriptTimeout=9999999;
var Surl = String(Request.QueryString("url"));
si(Surl == "indefinido"){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Asp proxy por Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px sólido #999999;">");
Response.Write("<formulario acción="#" método="get" >");
Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">Ingrese la URL</p>");
Response.Write("<p><estilo de entrada="color de fondo: #FFCCCC;borde: 1px sólido #999999;" tipo="text" nombre="url"></p>" );
Response.Write("<p><estilo de entrada="color de fondo: #FFCCCC;borde: 1px sólido #999999;" tipo="enviar" valor="GoWeb"></p>" );
Respuesta.Write("</div>");
}
de lo contrario si(Surl == ""){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Asp proxy por Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px sólido #999999;">");
Response.Write("<p>La dirección está vacía, ingrésela en un formato como www.tom.com </p>");
Respuesta.Write("</div>");
}
demás{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Respuesta.Write(send_request(Surl));
}
función enviar_request(url) {
var texto codificado;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
intentar{
http_request.Open("OBTENER",url,falso);
http_request.Enviar(nulo);
}
captura (e)
{
Respuesta.Escribir(e.descripción);
}
si (http_request.ReadyState == 4){
//Determina automáticamente el inicio de la codificación
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
si (resultadochar! = nulo) {
var Cset = charresult[1];
}else{Cset = "utf-8"}
//Determina automáticamente el final de la codificación
texto codificado = bytesToBSTR(http_request.Responsebody,Cset);
}demás{
texto codificado = "Error";
}
//reemplazar hipervínculo
texto codificado = texto codificado.replace(/href="/?/ig,"href=""+url+"/");
texto codificado = texto codificado.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
retorno (texto codificado);
}
función bytesToBSTR(cuerpo,Cset){
varobjstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Tipo = 1;
objstream.Modo = 3;
objstream.Open();
objstream.Write(cuerpo);
objstream.Posición = 0;
objstream.Tipo = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Cerrar;
retorno(bytesToBSTR);
}
función GuardarArchivoRemoto(NombreArchivoLocal,UrlArchivoRemoto){
var recuperación, anuncios;
Recuperación = Server.CreateObject("Microsoft.XMLHTTP");
Recuperación.Open("GET",RemoteFileUrl,false);
Recuperación.Enviar(nulo);
si (Recuperación.ReadyState == 4){
Anuncios = Server.CreateObject("Adodb.Stream");
Tipo de anuncios = 1;
Anuncios.Open();
Anuncios.Write(Recuperación.Responsebody);
Anuncios.SaveToFile(Server.MapPath(LocalFileName),2);
Anuncios.Cancelar;
Anuncios.Cerrar;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>