结论:纠正一下,不https_proxy
Windows 版 cURL 中存在问题。此外,如果要代理 HTTPS 流量,则应进行设置(或者all_proxy
最好不需要根据协议设置不同的代理)。
我需要使用 cURL 来访问使用代理的网站,因为该网站在我所在地区受到限制。但是,我可能无法-x
向 cURL 命令添加选项(假设命令由闭源应用程序执行)。
我发现设置环境变量(例如)http_proxy
可以指示 cURL 在 Linux 和 macOS 系统上使用该代理,但不幸的是,当我在 Windows 上尝试它时set http_proxy=http://localhost:port
curl ...
,它不起作用,测试了 Windows 附带的 cURL 和官方版本。我不明白为什么 Windows 上没有这个功能。是否有在 Windows 上具有类似效果的替代环境变量,或者任何可以识别 Windows 系统代理设置的 cURL 版本?
答案1
好吧,我后来发现那些 cURL 命令访问的是 HTTPS URL,所以我应该设置https_proxy
或all_proxy
变量。我只是误解了 HTTP 协议代理应该设置为http_proxy
(socks5_proxy
对于其他代理,可能设置为等)