Emacs 能打开浏览器,却仍需要自己的代理
在外部浏览器中打开 URL 与用 Emacs 的 URL 库获取资源使用的是不同客户端。应当配置实际发起请求的那一端。
在 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 求值、凭据和不断变化的网络策略的通用方案。先确认固定端点或该库文档中记录的环境配置是否满足真实需求。