PAC File Examples

本文提供了两个PAC文件配置示例,展示了如何通过不同条件指定代理设置,包括直接连接、使用特定代理服务器及根据URL协议选择不同代理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PAC File Examples

Example 1

function FindProxyForURL(url, host) {

// If URL has no dots in host name, send traffic direct.
if (isPlainHostName(host))
return "DIRECT";

// If specific URL needs to bypass proxy, send traffic direct.
if (shExpMatch(url,"*domain.com*") ||
shExpMatch(url,"*vpn.domain.com*"))
return "DIRECT";

// If IP address is internal or hostname resolves to internal IP, send direct.

var resolved_ip = dnsResolve(host);

if (isInNet(resolved_ip, "10.0.0.0", "255.0.0.0") ||
isInNet(resolved_ip, "172.16.0.0", "255.240.0.0") ||
isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
return "DIRECT";

// If not on a internal/LAN IP address, send traffic direct.
if (!isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0"))
return "DIRECT";

// All other traffic uses below proxies, in fail-over order.
return "PROXY 1.2.3.4:8080; PROXY 4.5.6.7:8080; DIRECT";

}

Example 2

function FindProxyForURL(url, host) {

// If IP address is internal or hostname resolves to internal IP, send direct.

var resolved_ip = dnsResolve(host);

if (isInNet(resolved_ip, "10.0.0.0", "255.0.0.0") ||
isInNet(resolved_ip, "172.16.0.0", "255.240.0.0") ||
isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
return "DIRECT";

// Use a different proxy for each protocol.
if (shExpMatch(url, "http:*")) return "PROXY proxy1.domain.com:3128";
if (shExpMatch(url, "https:*")) return "PROXY proxy2.domain.com:3128";
if (shExpMatch(url, "ftp:*")) return "PROXY proxy3.domain.com:3128";

}

转载于:https://my.oschina.net/u/2316994/blog/377113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值