Веб-онлайн-агент (версия Asp)
Автор:Eve Cole
Время обновления:2009-06-23 17:01:33
Программное обеспечение веб-прокси, написанное на asp, можно использовать для преодоления ограничений шлюза и т. д. В основном оно используется с Ajax (из-за проблем междоменного доступа в Firefox). Версия 0.1 Автор LlinZzi
Функция определяет код веб-сайта, поддерживает автоматическое преобразование гиперссылок на любой язык и имеет неразрешенную функцию удаленной загрузки изображений. В настоящее время ее можно использовать только для проксирования кода веб-сайта, а пересылка изображений и других данных через прокси-сервер еще не реализована. завершенный.
[Скопируйте этот код]КОД:
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Response.Charset = "utf-8"%>
<%
Server.ScriptTimeout=9999999;
var Surl = String(Request.QueryString("url"));
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 автор Ллинцзи</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px Solid #999999;">");
Response.Write("<form action="#" метод="get" >");
Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">Введите URL</p>");
Response.Write("<p><input style="background-color: #FFCCCC;border: 1px сплошной #999999;" type="text" name="url"></p>" );
Response.Write("<p><input style="background-color: #FFCCCC;border: 1px сплошной #999999;" type="submit" value="GoWeb"></p>" );
Response.Write("</div>");
}
иначе 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 автор Ллинцзи</p>");
Response.Write("<div style="font-size:9pt;margin:30px;text-align:center;background-color:#FFFFCC;border: 1px Solid #999999;">");
Response.Write("<p>Адрес пуст, введите его в формате, например www.tom.com </p>");
Response.Write("</div>");
}
еще{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Response.Write(send_request(Surl));
}
функция send_request(url) {
вар кодированный текст;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
пытаться{
http_request.Open("GET",url,false);
http_request.Send (ноль);
}
поймать(е)
{
Response.Write(e.description);
}
если (http_request.ReadyState == 4){
//Автоматически определяем начало кодирования
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
если (charresult!= ноль){
вар Cset = charresult[1];
}else{Cset = "utf-8"}
//Автоматически определяем конец кодирования
codedtext = bytesToBSTR(http_request.Responsebody,Cset);
}еще{
codetext = "Ошибка";
}
//заменяем гиперссылку
codedtext = codedtext.replace(/href="/?/ig,"href=""+url+"/");
codedtext = codedtext.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
возврат (закодированный текст);
}
функция bytesToBSTR(body,Cset){
вар объектный поток;
objstream = Server.CreateObject("Adodb.Stream");
объектный поток.Тип = 1;
objstream.Mode = 3;
объектный поток.Открыть();
objstream.Write(тело);
objstream.Position = 0;
объектный поток.Тип = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
объектный поток.Закрыть;
возврат (байтыToBSTR);
}
функция SaveRemoteFile(LocalFileName,RemoteFileUrl){
вар Поиск,Объявления;
Получение = Server.CreateObject("Microsoft.XMLHTTP");
Retrival.Open("GET",RemoteFileUrl,false);
Получение.Отправить(ноль);
если (Retrival.ReadyState == 4){
Объявления = Server.CreateObject("Adodb.Stream");
Тип объявления = 1;
Объявления.Открыть();
Объявления.Запись(Получение.Тело ответа);
Ads.SaveToFile(Server.MapPath(LocalFileName),2);
Объявления.Отмена;
Объявления.Закрыть;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>