在 Linux 上永久设置 cURL 使用代理
cURL 用于向服务器请求数据并将其发送到设备。通过此命令,用户指定服务器 URL 和需要发送到 URL 的数据(请求发送到的位置)。Curl 适用于 Windows、MacOS 和 Linux,并支持 25 多种协议,包括 SFTP、FTP、HTTPS 和 HTTP。关于 API 调用和调试网络请求,curl 是最好的开源免费工具之一。
“代理”一词代表“代表他人行动”。同样,代理服务器也代表最终用户行动。
代理服务器充当网站和用户之间的中间服务器,用于传输流量。代理隔离最终用户客户端浏览的网站,并提供多层安全性和功能。使用代理服务器时,互联网上的所有请求首先到达此服务器,然后由其进行评估。
根据这些规则,它根据需要将请求转发到互联网。同样,服务器响应会返回到第一个代理,然后由其处理和评估,只有这样才会发送给最终用户。有时,代理服务器通过使用一系列服务器来提供更高的互联网匿名性。
在 Linux 上永久设置 cURL 使用代理
我们将了解几种永久使用 curl 设置代理的方法。
通过命令行参数(临时解决方案)
您可以使用简单的命令行参数使用代理。您可以使用命令行过滤 Curl 的帮助文档中的所有代理配置选项。您可以使用以下命令查看代理设置的文档:
curl --help proxy
运行上述命令后,您将获得一个命令列表,其中一个命令将是:
-x, --proxy [protocol://]host[:port]
上述命令中的“x”区分大小写。使用 curl,您可以使用“-x”或“--proxy”来提供代理详细信息。
curl -x "[protocol://]host[:port]"
或者,
curl --proxy "[protocol://]host[:port]"
注意 - 目标 URL 和代理 URL 用双引号括起来。
通过环境变量
Curl 支持为每个协议设置环境变量 [scheme]_proxy。使用 http_proxy(环境变量),您可以设置 curl 以访问代理服务器。因此,您必须使用 export 命令设置此变量:
export http_proxy="[protocol://][host][:port]" (access the address that used http protocol) export https_proxy="[protocol://][host][:port]" (access the address that used https protocol)
注意 - 如果您注意到 SSL 证书错误,您可以通过向上述命令添加 -k 选项来忽略它们。
curl -x "[protocol://][host][:port]" -k [URL]
导出环境变量后,curl 命令会在远程连接期间自动使用上述代理。
curl "http://httpbin.org/ip"
额外提示 - 您可以通过将此变量添加到 shell 配置文件中使其永久生效。由于我们的默认 shell 是 bash,因此我们将将其添加到“~/.profile”中,如下所示:
http_proxy=http://127.0.0.1:8080
这些变量适用于整个系统。如果不需要此行为,建议您通过取消设置这些变量来关闭全局代理:
unset http_proxy unset https_proxy
通过别名
使用别名,您可以用另一个别名执行任何系统命令。通过这种方式,用代理命令替换 curl 调用。根据您的操作系统,您使用的 shell 文件与环境变量可能有所不同。
alias curl="curl -x "[protocol://][host][:port]"
重新加载 Shell 后,运行 curl 将通过调用我们的别名来使用代理服务器。
curl https://xyz.com
通过 .curlrc
您需要每次都将代理地址传递给 curl。为了避免此问题,您可以创建一个 .curlrc(curl 配置文件),其中包含许多配置参数。它可以存储在您的主目录中。当您启动 curl 命令时,它会查找 ~/.curlrc 文件并加载文件中所有配置文件中的选项。
我们可以在 ~/.curlrc 中添加以下行以永久使用代理服务器。
proxy = "[protocol://][host][:port]"
注意 - 如果 ~/.curlrc 文件不存在,您可以创建并添加它。
结论
在本文中,我们解释了如何在 Linux 上设置 cURL 以永久使用代理并将所有请求通过代理服务器发送到 curl。在这里,我们研究了几个永久配置 curl 代理的解决方案。其中推荐使用 curl 配置文件。此外,您还可以通过其他方法访问所需数据。