作者在 2008-04-20 10:37:22 发布以下内容
详细文档参见(http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html 这是国外网站)
- 代理自动配置文件的内容
代理的自动配置文件是用javascript语言写的。该文件必须包含以下函数:
function FindProxyForURL(url, host){
……
}
其中url表示访问资源的地址。而host是主机名字。 - 代理自动配置文件的存储形式
- 代理文件保存的名字必须以“.pac”结尾。
- 如果需要对服务器做相应设置,则应该把.pac后缀名对应的mime类型对应为
application/x-ns-proxy-autoconfig
- 返回值的格式。
- 浏览器自动调用函数FindProxyForURL(url, host)。并且采用如下格式:
ret = FindProxyForURL(url, host);
其中ret是一个描述代理配置的字符串。 - 如果返回值是null,那么不会使用代理
- 返回值可以是如下形式的字符串语块的任意组合,各个块之间用分号分开
DIRECT
直接连接,不使用代理
PROXY host:port
使用host:port指定的代理连接
SOCKS host:port
使用指定的SOCKS服务器连接 - 如果用多个分号分开的语块的字符串,那么最左边的代理将被优先使用。如果使用该代理连接失败,那么将使用下一个。
- 浏览器自动调用函数FindProxyForURL(url, host)。并且采用如下格式:
- 预定义的javascript函数
- isPlanHostName(host)
返回true当且仅当host是一个只有主机名字没有域名(也就是没有点)的字符串(如:www返回true,www.google.cn返回false。 - dnsDomainIs(host, domain)
返回true当且仅当host的域名和domain相匹配。例如:
dnsDomainIs("www.pku.edu.cn",".pku.edu.cn") = true
dnsDomeinIs("www",".pku.edu.cn") = flase - 其他的函数可以自己参考http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html(这是国外网站)
- isPlanHostName(host)