在 Emacs 中,两条都叫“打开 URL”的命令可能走不同的路径。

其中一条可以把 URL 交给外部浏览器,浏览器随后使用它自己的代理配置。另一条则通过 Emacs 的 URL 库获取资源。浏览器请求成功,几乎说明不了第二条路径的情况。

URL 库文档中记录了代理相关的环境变量以及 Lisp 选项 url-proxy-services。一个基本的显式配置形如:

(setq url-proxy-services
      '(("http" . "proxy.example:8080")
        ("https" . "proxy.example:8080")))

方案名用来选择目标协议。代理值是该选项期望的端点格式,而不是 PAC 脚本的 URL。对于允许使用的公共 HTTP 线路,请从HTTP 代理列表中的候选中选取主机和端口。

这项设置针对的是使用该库的客户端。例如,调用外部 Git 可执行文件的包走的是另一条网络路径。在假定 Emacs 的所有网络访问共用同一套配置之前,先弄清楚实际执行的操作。

在 Windows 上,不要把旧第三方包中读取注册表的代码片段当作解决 PAC 求值、凭据和不断变化的网络策略的通用方案。先确认固定端点或该库文档中记录的环境配置是否满足真实需求。

相关文章