[转帖]用PAC文件自动配置IE代理脚本
转自http://www.cnblogs.com/ttyp/archive/2005/11/18/279124.html
一个PAC文件其实就是一个文本文件,最简单的格式就是包含一个叫FindProxyForURL的JScript函数,IE通过传入两个变量来调用这个函数,一个是用户浏览的地址URL全路经,一个是这个URL中的主机名部分(host)。
这个FindProxyForURL函数有三种可能的字符串返回值,
一是"DIRECT",就是直接连接,不通过代理;
二是"PROXY proxyaddr:port",其中proxyaddr和port分别是代理的地址和代理的端口;
三是"SOCKS socksaddr:port",其中socksaddr和port分别是socks代理的地址和端口,
一个自动代理文件可以是多个选择的组合,其中用分号(;)隔开。
PAC内置语法见http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
PAC脚本另外一个重要的应用是多台代理服务器并存的情况下,通过pac脚本的控制:
* 用户随机选择使用多台代理服务器中的任意一台来达到流量负载均衡的目的;
* 管理员通过PAC脚本控制用户使用和不使用某台代理服务器,这样可以空出时间对代理服务器进行维护;
* 让服务器工作在主备模式,当主服务器宕机时,会自动切换到其它备用服务器而不会中断服务;
* 根据访问目的地的不同,自动选择最佳代理服务器。
下面列举几个PAC的实例,顺便学习下它的语法
A、isPlainHostName(host),本例演示判断是否为本地主机,如http://myservername/的方式访问,如果是直接连接,否则使用代理
function FindProxyForURL(url,host){ return randomProxy();}function randomProxy(){ switch( Math.floor( Math.random() * 5 ) ) { case 0: return "PROXY proxy1:80"; break; case 1: return "PROXY proxy2:80"; break; case 2: return "PROXY proxy3:80"; break; case 3: return "PROXY proxy4:80"; break; case 4: return "PROXY proxy5:80"; break; } }1 楼 lyf443 2011-08-17 很好,很受用