3

我的工作场所有一个相当复杂的PAC文件,用于确定应该使用哪个代理 HTTP(S) 流量来访问各种内部和外部网络。这对于 Chrome、Safari 等来说很好,但对于命令行工具(curl大多数脚本语言 HTTP 库)来说很糟糕。正常的解决方案是设置各种环境变量,例如HTTP_PROXYto 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(哪些浏览器等使用)才能访问的更高级别?(如果是这样,我怎样才能访问它们?)

4

1 回答 1

3

OS X 10.11 及更高版本包括nscurl,这是一个简化的类似 curl 的实用程序,它使用平台 API 进行网络传输。我希望它支持代理以及任何 OS X 应用程序,尽管它没有完整的所有功能curl

于 2017-02-28T17:38:28.183 回答