如何让 cURL 使用代理而不添加选项?

如何让 cURL 使用代理而不添加选项?

结论:纠正一下,https_proxyWindows 版 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_proxyall_proxy变量。我只是误解了 HTTP 协议代理应该设置为http_proxysocks5_proxy对于其他代理,可能设置为等)

相关内容