2009年2月19日星期四

利用PAC的JS脚本自动配置代理


function FindProxyForURL(url, host){
if ((host == "localhost") ||(shExpMatch(host, "localhost.*"))||(host == "127.0.0.1"))
return "DIRECT";

if(shExpMatch(url, "https://*"))
return "DIRECT";

hostip=dnsResolve(host);
if (isInNet(hostip, "10.0.0.0", "255.0.0.0")||isInNet(hostip, "192.168.0.0", "255.255.0.0")||isInNet(hostip, "172.16.0.0", "255.240.0.0"))
return "DIRECT";

domains = ["google.cn","baidu.com","google.com","kaxin001.com"];
for(var i=0;i<domains.length;i++){
if(dnsDomainIs(host, domains[i]))
return "DIRECT";
}

return "PROXY 127.0.0.1:8000";
}


把以上文件存成proxy.pac文件,路径E:\proxy.pac

简单的解释:
domains = ["google.cn","baidu.com","google.com","kaxin001.com"];
这一句排除掉不需要用代理的网址,如果您确定某些网址不用代理一定能正常访问且速度比代理快,请把它写到上面去。
PROXY 127.0.0.1:8000 为您使用的代理服务器的配置,请自行修改为其他的。


IE下设置:
工具-选项-Internet 选项-连接-局域网设置,勾选使用自动配置脚本
填写:file://E:/proxy.pac

在FireFox中:
工具-选项-高级-网络-连接设置-自动代理配置URL
填写:file:///E:/proxy.pac

注意:IE和Firefox下的路径填写略有不同,如果您的proxy.pac的文件另存在其他地方,请修改。
发表评论