Chinaunix首页 | 论坛 | 博客
  • 博客访问: 425109
  • 博文数量: 116
  • 博客积分: 7087
  • 博客等级: 少将
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-19 23:32
文章分类

全部博文(116)

文章存档

2012年(1)

2011年(2)

2010年(10)

2009年(21)

2008年(18)

2007年(12)

2006年(21)

2005年(31)

我的朋友

分类:

2010-02-08 20:47:38

为浏览器设置代理服务器,是个体力活。
在家有一套,在单位有另外一套。
所以最好可以用脚本来控制。

现在的浏览器,ie也好,firefox也好,都支持通过javascript来自动设置proxy.用javascript写成的文件,一般以pac作为扩展名。

这个javascript脚本其实只有一个函数,就是FindProxyForURL,它由浏览器自动调用。
现在的问题是,如果需要了解浏览器在调用这个函数的过程中发生了什么事情,你应该怎么做?
答案是,你仍然可以使用alert函数。有一点值得注意的是 ,在firefox中,alert并不会弹出一个对话框。那么alert的信息去哪里了呢?
原来firefox还有一个叫error console的东西,在tools菜单中。alert的信息,都被集中存储到那个地方去了。

通过这样的调试方法,我还发现一点有意思的地方,那就是myIPAddress()函数返回的IP地址,居然不是我想像的内网ip,而是外网ip,真不知道firefox是怎么拿到的 。

function FindProxyForURL(url, host) {
    // Variables

    var proxy_yes = "PROXY 10.1.4.11:8080"; // Proxy server address

    var addr_ip4 = "10.112.0.0"; // My IPv4 address

    var proxy_no = "DIRECT";
    
    alert("My Addr: " + myIpAddress() + "\nURL: " + url + "\nHost: " + host);
    
    // Proxy if PC is on XXXX LAN

    if (isInNet(myIpAddress(), addr_ip4, "255.255.0.0") )
    {
        //alert("XXXX address & proxy");

        return proxy_yes;
    }
    alert("Default proxy (none)");
    return proxy_no;
}


阅读(895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~