假设我想使用存储在 C:\proxy.pac 的代理自动配置文件。要使 Internet Explorer 使用此配置,我必须按以下方式在 LAN 设置中指定 pac 文件:
file://C:/proxy.pac
但使用相同代理设置的 Safari 会忽略它。要让 Safari 使用 pac 文件,我必须将其引用为
file:///C:/proxy.pac
(开头有 3 个斜线),根据维基百科是正确的格式。但这样 Internet Explorer 会忽略它。Opera 和 Chrome 也使用相同的代理设置,两种方式都可以,但有没有其他选项可以同时适用于 Safari 和 Internet Explorer?
答案1
对于 IE 和 Windows 平台,本地 pac 文件的正确位置似乎是:
file://C:/Windows/system32/drivers/etc/proxy
在您的 hosts 文件旁边。
答案2
由于 WinHTTP 从未支持该架构,因此 W8.1 不再支持此功能file://
。因此使用 WinHTTP 进行代理设置的工具将无法识别它。
另请注意:
2012 年 11 月,.NET Framework 更改为使用 WinHTTP 进行 PAC 处理,这意味着,默认情况下,.NET 应用程序将不再支持
file://
基于的代理脚本。
如果您想为 IE10 以上的版本启用文件协议,您可以始终使用以下注册表设置:
- 钥匙:
HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\
- 价值:
EnableLegacyAutoProxyFeatures
- 类型:
REG_DWORD
- 数据:
1
请参阅“注意:基于 File:// 的代理脚本已弃用”部分这里。
答案3
如果您使用点,会发生什么情况?正如 Wikipedia 所讨论的那样:file://./C:/proxy.pac
?只要它不在共享名上,IE 和 Safari 都可能接受这种路径“拼写”。
或者,运行本地 Web 服务器并提供 .pac 文件,然后提供 URL 作为http://localhost/path/to/proxy.pac
。这应该可以解决路径 URL 格式的差异问题,因为完全避免使用路径 URL。