我的工作场所有一个相当复杂的PAC文件,用于确定应该使用哪个代理 HTTP(S) 流量来访问各种内部和外部网络。这对于 Chrome、Safari 等来说很好,但对于命令行工具(curl
大多数脚本语言 HTTP 库)来说很糟糕。正常的解决方案是设置各种环境变量,例如HTTP_PROXY
to proxy.example.com:8888
,但这不适用于 PAC。相反,我们大多数人都在上面运行某种 PAC 感知代理,localhost
并通过它发送所有内容。
我的问题是,为什么这首先是必要的?OSX 可以很好地评估自己连接的 PAC 规则,但是curl
,等等不能吗?networksetup
给了我这个:
$ networksetup -listallhardwareports
Hardware Port: Wi-Fi
Device: en0
Ethernet Address: ...
$ networksetup -getproxyautodiscovery Wi-Fi
Auto Proxy Discovery: On
我认为这意味着任何经历en0
都应该有代理自动发现。那是错的吗?代理自动发现和自动配置是否发生在只能通过 Apple API(哪些浏览器等使用)才能访问的更高级别?(如果是这样,我怎样才能访问它们?)