代理 PAC 文件(附示例)
- 7月19日
- 讀畢需時 2 分鐘
什么是 PAC 文件
指代理自动配置(Proxy Auto-Configuration)文件,是一种可以写入指令的文本文件,用于让浏览器直接访问指定的网站,或仅在特定条件下经由代理服务器。
例如,在PAC文件中指定条件,就可以指定经由代理的星期或时间段,或指定仅在访问指定域名或URL时不经由代理等。
相关图书(PR) 从基础学习代理与网络(TCP/IP)的机制。 ▶ 在亚马逊搜索
PAC 文件的设置方法
如果是Windows,从控制面板的Internet选项中
点击[连接]选项卡 - [局域网设置]按钮,显示「局域网(LAN)设置」窗口。
在其中勾选「使用自动配置脚本」,并在「地址」栏输入放置pac文件的路径。
放置在互联网上时的示例:https://domain/sample.pac
作为本地文件放置时的示例:file://c:/tmp/sample.pac

相关图书(PR) 想学习Windows·公司内网络的设置与管理。 ▶ 在亚马逊搜索
PAC 文件的编写方法
PAC文件以JavaScript形式编写,可指定代理的规则与条件。下面给出基本的PAC文件编写方法示例。
function FindProxyForURL(url, host) {
// 代理的定义
// 记载要使用的代理与端口
var proxy = "PROXY proxy.example.com:3128";
// 代理的适用条件
// 仅在访问「www.amazon.com」时才经由代理的条件
if (shExpMatch(url, "https://www.amazon.com/")) {
return proxy;
}
// 其他情况不使用代理,直接连接
return "DIRECT";
}
也可以使用多个代理
定义多个代理时,指定为按条件返回不同的代理。
function FindProxyForURL(url, host) {
// 代理的定义
var proxy1 = "PROXY proxy1.example.com:8080";
var proxy2 = "PROXY proxy2.example.com:8080";
// 代理的适用条件
if (condition1) {
return proxy1;
}
if (condition2) {
return proxy2;
}
return "DIRECT";
}
相关图书(PR) PAC文件即JavaScript。适合想打牢基础的人。 ▶ 在亚马逊搜索
支持的函数
在PAC文件中,可使用各种函数来指定条件。代表性的函数有以下这些。
・shExpMatch(str, pattern):检查字符串str是否匹配通配符模式pattern。
・dnsDomainIs(host, domain):检查主机名host是否属于域domain。
・isInNet(ip, subnet, mask):检查IP地址ip是否属于指定的子网subnet。
・isResolvable(host):检查主机名host是否可解析。
组合这些函数,就可以在PAC文件内指定代理的条件。
相关图书(PR) Squid等代理服务器搭建的实战书。 ▶ 在亚马逊搜索
※本文包含联盟链接(亚马逊联盟)。可能通过链接的购买获得推荐费。



留言