如何设置 curl 以永久使用代理? [关闭]

Posted

技术标签:

【中文标题】如何设置 curl 以永久使用代理? [关闭]【英文标题】:How do I set up curl to permanently use a proxy? [closed] 【发布时间】:2011-11-25 10:10:33 【问题描述】:

如何设置“curl”在终端中永久使用代理服务器?

【问题讨论】:

为什么这个问题被关闭了?对我来说似乎很重要...... 我怀疑它被认为是题外话,因为它没有明确提到 cURL 如何被用于编程问题(例如,编写脚本来做一些有趣的事情)。它也可以被表述为更适合 ServerFault 的系统管理员问题。 ***.com/questions/9445489/… 【参考方案1】:

您可以在 ~/.bashrc 文件中创建别名:

alias curl="curl -x <proxy_host>:<proxy_port>"

另一种解决方案是使用(可能是更好的解决方案)~/.curlrc 文件(如果它不存在则创建它):

proxy = <proxy_host>:<proxy_port>

【讨论】:

在 ~/.curlrc 中设置代理为我在公司代理中工作时节省了许多痛苦的时间。谢谢! user:pass auth 怎么样? 你可以试试 username:password@proxy:port 的格式。 如果有人出现并尝试使用 Windows / DOSKEY 完成此操作,我使用了alias curl=curl --proxy &lt;proxy server:port&gt; $* 也在 Ubuntu 20 上工作过【参考方案2】:

许多 UNIX 程序尊重 http_proxy 环境变量,包括 curl。 curl 接受的格式是[protocol://]&lt;host&gt;[:port]

在你的 shell 配置中:

export http_proxy http://proxy.server.com:3128

对于代理 HTTPS 请求,还要设置 https_proxy

Curl 还允许您在 .curlrc 文件(Windows 上为 _curlrc)中进行设置,您可能认为该文件更永久:

http_proxy=http://proxy.server.com:3128

【讨论】:

env 变量对我不起作用(在 Mac 上的终端中)。 要在 mac 上代理 HTTPS 流量,在调用 curl 之前在终端中设置 https_proxy 环境变量,对我有用。例如,export https_proxy=https://proxy.server.com:6443 另请注意,设置 HTTP_PROXY/HTTPS_PROXY(大写)不起作用,但设置 http_proxy/https_proxy(小写)可以。【参考方案3】:

Curl 启动时将在您的主文件夹中查找 .curlrc 文件。您可以创建(或编辑)此文件并添加此行:

proxy = yourproxy.com:8080

【讨论】:

这适用于 Ubuntu 16.04。该操作系统应该接受它的答案。 可以确认它也适用于 Ubuntu 20。【参考方案4】:

一个通知。在 Windows 上,将 _curlrc 放在“%APPDATA%”或“%USERPROFILE%\Application Data”中。

【讨论】:

很遗憾,这对我不起作用。

以上是关于如何设置 curl 以永久使用代理? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux基于CentOS通过Systemctl 设置开机启动/永久性关闭服务

PHP 使用 fsockopen/cURL 设置浏览器代理

浏览器及CURL代理设置

如何永久设置Windows环境变量?

Linux - 一篇带你读懂 Curl Proxy 代理模式

Linux - 一篇带你读懂 Curl Proxy 代理模式