Web代理(Asp版)

asp写Web代理软件,可以用作突破网关限制等,主要是为了配合Ajax使用的(因Firefox存在跨域访问的问题) 版本 0.1 作者 LlinZzi
功能
判断网站编码,支持任何语言
超连接自动转换
附带一个远程下载图片的函数
未解决问题,目前只能用来代理网站代码,图片等其他数据的代理转发尚未完成。


代码如下:

<%@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代理 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;\">请输入网址</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代理 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>地址为空,请格式输入 如 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){
        //自动判断编码开始
        var charresult = http_request.ResponseText.match(/CharSet=(\S+)"/i);
        if (charresult != null){
        var Cset = charresult[1];
        }else{Cset = "utf-8"}
        //自动判断编码结束
        codedtext = bytesToBSTR(http_request.Responsebody,Cset);
        }else{
        codedtext = "Erro";
        }
        //替换超连接
        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","http://www.baidu.com/img/logo.gif");
%>

(0)

相关推荐

  • Web代理(Asp版)

    asp写Web代理软件,可以用作突破网关限制等,主要是为了配合Ajax使用的(因Firefox存在跨域访问的问题) 版本 0.1 作者 LlinZzi 功能 判断网站编码,支持任何语言 超连接自动转换 附带一个远程下载图片的函数 未解决问题,目前只能用来代理网站代码,图片等其他数据的代理转发尚未完成. 复制代码 代码如下: <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <%Response.Charset 

  • Microsoft Expression Web 简体中文正式版 官方下载地址

    Microsoft Expression Web 简体中文正式版相对于早期的 Microsoft Expression Web Designer CTP1(英文)除了它是正式的中文版外,有进步的地方1.对标签的id名称加上了css的代码跟踪链接,这个着实方便了很多2.DOCTYPE 为HTML 4.01系列的时候能够检查到"某元素包含自身" 如: 等会要求你删除结尾的斜线.......更多优点还在发现中....对于偏重于设计制作的网页设计师来说,这个肯定比Dreamwaver8好用,尤

  • 找到一款不错的基于AJAX留言板源码(PHP版、ASP版)提供下载了

    一.说明 大家好,现将51AJAX的留言板源码放出,有PHP和ASP两个版本. PHP版基于AJAX+PHP4.3+MySql 4.1+Dojo 0.3,ASP版基于AJAX+ASP+Access+Dojo 0.3. 压缩包中已包含了Dojo框架的主文件dojo.js,无需再下载Dojo包: 要下载完整的Dojo框架,请点击这里下载:http://download.dojotoolkit.org/release-0.3.1/dojo-0.3.1-ajax.zip. 关于Dojo的更多信息,请点击

  • 超级ASP版DataGrid——SkyGrid本地下载

    吸取上次发布SkyTree的教训,这次不罗嗦了,开门见山,一个多月的努力就在今天见分晓了,觉得好请回帖表示,回帖内容不限,"顶"者有分! 现在开始体验超眩的SkyGrid(天格): 产品介绍:http://www.justrun.net/Product/SkyGrid.asp在线演示:http://www.justrun.net/Product/SkyGrid/免费下载:http://www.justrun.net/Download/SkyGrid.asp SkyGrid是维动工作室开

  • Serv-U本地权限提升的ASP版实现

    网上流传可以利用MSWinsock控件实现,这是不好滴.因为这是个第三方组件,呵呵,几率相当小,既然要杀人灭口,嘿嘿,肯定要采用一套通杀的方法才是. Serv-U服务器管理那里使用了FTP协议,所以我们应该研究一下FTP协议先. 正常的FTP协议的认证过程: 220 Serv-U FTP Server v5.2 for WinSock ready... user lake2 331 User name okay, need password. pass lake2lake2 230 User l

  • 旁注-网站小助手旭方修改免杀asp版

    <%@LANGUAGE="VBScript" CODEPAGE="936"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>旁注 - 网站小助手旭方修改免杀版</title> <style type="te

  • 手写个小组件(组件入门)asp版

    动手写个小组件(组件入门) 这篇文章主要是为想将自己的ASP水平提高的人写的! 把ASP代码变成组件,开发者不仅是加快了ASP的速度,而且也能保护自己的代码.这篇文章写出来,也是为了给想开发组件网友上一堂入门课! 下面,我们会来编写一个非常简单的组件,重点是知道怎样开发DLL组件,而不是其复杂的代码!这些都要靠你们自己以后的努力了. 服务器端组件 首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过网络传输,依靠HTML来起作用.而且只能在IE上有用.但是服务器端的组件是运行在服务器端,

  • ASP版实现cookies注入加速工具

    来源:职业欠钱&zj1244共用的public Blog 复制代码 代码如下: <%  Str="xxxid="&escape(request("FK"))  Url="http://xxx.chinaxxx.com/injection.asp"  response.write PostData(Url,Str) Function PostData(PostUrl,PostCok)   Dim Http  Set Http 

  • 为google量身定做的sitemap生成代码asp版

    外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子: 如你是文章网站,文章有2000条,那你修改下对应你的文章数据表,即可生成除了所有目录文件外,还生成你的动态2000条地址,绝对的没话说,生成速度非常快 把下面代码保存为sitemap.asp文件,修改我已注明的几个地方,其他的一概不要修改,好不好用过才知道. 复制代码 代码如下: <!--#include file="conn.asp"--> <% sess

  • Selenium chrome配置代理Python版的方法

    环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + Chrome 58.0.3029.110 (64-bit) Selenium官方给的Firefox代理配置方式并不起效,也没看到合适的配置方式,对于Chrome Selenium官方没有告知如何配置,但以下两种方式是有效的: 1. 连接无用户名密码认证的代理 chromeOptions = webdriver.ChromeOptions() chromeOpt

随机推荐