Agent Web en ligne (version Asp)
Auteur:Eve Cole
Date de mise à jour:2009-06-23 17:01:33
Un logiciel proxy Web écrit en asp peut être utilisé pour contourner les restrictions de passerelle, etc. Il est principalement utilisé avec Ajax (en raison de problèmes d'accès entre domaines dans Firefox) Version 0.1 Auteur LlinZzi
La fonction détermine le code du site Web, prend en charge la conversion automatique des hyperliens dans n'importe quelle langue et dispose d'une fonction non résolue pour le téléchargement d'images à distance. Actuellement, elle ne peut être utilisée que pour proxy le code du site Web, et le transfert par proxy d'images et d'autres données n'a pas encore été effectué. complété.
[Copier ce code]CODE :
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Response.Charset = "utf-8"%>
<%
Serveur.ScriptTimeout=9999999 ;
var Surl = String(Request.QueryString("url"));
si(Surl == "indéfini"){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Proxy Asp par 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;">Veuillez saisir l'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>" );
Réponse.Write("</div>");
}
sinon si(Surl == ""){
Response.Write("<p style="font-size:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Proxy Asp par Llinzzi</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px solid #999999;">");
Response.Write("<p>L'adresse est vide, veuillez la saisir au format tel que www.tom.com </p>");
Réponse.Write("</div>");
}
autre{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Réponse.Write(send_request(Surl));
}
fonction send_request(url) {
var texte codé ;
http_request = Serveur.CreateObject("Microsoft.XMLHTTP");
essayer{
http_request.Open("GET",url,false);
http_request.Send(null);
}
attraper(e)
{
Response.Write(e.description);
}
si (http_request.ReadyState == 4){
//Déterminer automatiquement le début de l'encodage
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
si (charresult != null){
var Cset = charresult[1];
}else{Cset = "utf-8"}
//Déterminer automatiquement la fin de l'encodage
codedtext = bytesToBSTR(http_request.Responsebody,Cset);
}autre{
texte codé = "Erreur" ;
}
//remplacer le lien hypertexte
codedtext = codedtext.replace(/href="/?/ig,"href=""+url+"/");
codedtext = codedtext.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
return(texte codé);
}
fonction octetsToBSTR(corps,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1 ;
objstream.Mode = 3 ;
objstream.Open();
objstream.Write(corps);
objstream.Position = 0 ;
objstream.Type = 2 ;
objstream.Charset = Cset ;
bytesToBSTR = objstream.Readtext;
objstream.Fermer ;
return(octetsVersBSTR);
}
fonction SaveRemoteFile(LocalFileName,RemoteFileUrl){
var Récupération, Annonces ;
Récupération = Server.CreateObject("Microsoft.XMLHTTP");
Retrieval.Open("GET",RemoteFileUrl,false);
Récupération.Envoyer(null);
si (Retrieval.ReadyState == 4){
Annonces = Server.CreateObject("Adodb.Stream");
Annonces.Type = 1 ;
Annonces.Open();
Annonces.Write(Retrieval.Responsebody);
Ads.SaveToFile(Server.MapPath(LocalFileName),2);
Annonces.Annuler ;
Annonces.Fermer ;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>