我的工作场所有一个相当复杂的PAC文件,用于确定应使用哪个代理HTTP(S)流量来获得各种内部和外部网络。这对Chrome,Safari等很好,但是对于命令行工具(curl
,大多数脚本语言HTTP库)来说很糟糕。普通解决方案设置了各种环境变量,例如HTTP_PROXY
到proxy.example.com:8888
,但这与PAC不起作用。相反,我们大多数人都在localhost
上运行某种Pac-Awarwawawawawawephawe。
我的问题是,为什么首先有必要的?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(使用哪些浏览器等)访问?(如果是这样,我该如何访问它们?)
OS X 10.11及以上包括nscurl
,这是一种简化的类似卷曲的实用程序,使用平台API进行网络传输。我希望它能支持代理以及任何OS X应用程序,尽管它没有完整的curl