首页 > Windows上,在IE中设置某某pac链接,就能实现代理效果,是利用什么原理?

Windows上,在IE中设置某某pac链接,就能实现代理效果,是利用什么原理?

描述问题

由使用某代理服务想到的

比如提供代理服务,只需要在IE浏览器中如下设置:

  1. Internet选项

  2. 连接

  3. 局域网设置

  4. 输入一段以pac结尾的连接
    即可实现代理

是利用了Windows/IE的什么特性? 是什么原理?

上下文环境

>= windows7

重现

相关代码

报错信息

相关截图

已经尝试哪些方法仍然没有解决(附上相关链接)

自己猜想是:

  1. IE访问该pac网址

  2. 所有流量通过该服务器, 有的流量代理之,国内网站则不代理

问题简化


你的理解是对的 其实pac都是js文件

以下的proxy.pac摘自某个软件的一部分

function FindProxyForURL(url, host) {
    var autoproxy = 'PROXY GOAGENT_LISTEN';
    var blackhole = 'PROXY PAC_LISTEN';
    if (dnsDomainIs(host, '.google.com') ||
...
...
        host == 'ow.ly' ||
        host == 'po.st' ||
        host == 'goo.gl')
    {
        return autoproxy;
    }
    if (host == 'pagead2.googlesyndication.com' ||
        host == 'p.tanx.com' ||
        host == 'a.alimama.cn' ||
        FindProxyForURLByAdblock(url, host) != 'DIRECT')
    {
        return blackhole;
    } else {
        return FindProxyForURLByAutoProxy(url, host);
    }
}

// AUTO-GENERATED RULES, DO NOT MODIFY!
function FindProxyForURLByAdblock(url, host) {return "DIRECT";}

function FindProxyForURLByAutoProxy(url, host) {
    if (url.indexOf("http://ime.baidu.jp") == 0) return "DIRECT";
    if (dnsDomainIs(host, ".zhongsou.com") || host == "zhongsou.com") return "DIRECT";
    if (dnsDomainIs(host, ".youdao.com") || host == "youdao.com") return "DIRECT";
    if (dnsDomainIs(host, ".yahoo.cn") || host == "yahoo.cn") return "DIRECT";
    if (dnsDomainIs(host, ".weibo.com") || host == "weibo.com") return "DIRECT";
...
...
【热门文章】
【热门文章】