cURL 代理设置指南

如何进行 cURL 代理设置?

cURL 是通过 URL 发送和接收数据的命令行工具。首先我们来举个最简单的例子,帮助了解如何使用 curl。打开终端或命令提示符程序,输入以下命令后按回车键(Enter):

忽略或撤销单个请求的代理

如果是全局代理,或者是通过修改 .curlrc 文件进行设置的,仍然可以通过撤销来另外设置代理或者是绕过设置。

要撤销单个请求的代理,可以照常通过 -x--proxy 开关来重新设置代理:

curl --proxy "http://user:pwd@1.0.0.1:8090" "http://httpbin.org/ip"

如果想干脆绕过单个请求的代理,在 --noproxy 后加 “*” 即可。这个命令就是告诉 curl 对所有 URL 都不要运行代理。

curl --noproxy "*" "http://httpbin.org/ip"

如果要在不用代理的情况下执行大量 curl 请求,而不更改全局代理设置,请看下文。

高级技巧 – 快速开/关代理

这一技巧仅适用于高级用户。如果您不了解 .bashrc 文件,可以忽略这一部分。

您在 .bashrc 文件中创建一个别名,即可设置或取消设置代理。比如,通过编辑器打开 .bashrc 文件并添加以下命令行:

alias proxyon="export http_proxy='http://user:pwd@127.0.0.1:1234';export https_proxy='http://user:pwd@127.0.0.1:1234'"
alias proxyoff="unset http_proxy;unset https_proxy"
    

然后保存 .bashrc 文件并更新外壳以读取该文件。因此,在终端内运行以下命令:

proxyon
curl "http://httpbin.org/ip"
curl "http://baidu.com"
proxyoff
    

cURL socks 代理(包括 curl socks5 代理)

对于使用 socks 协议的代理服务器,语法仍然一样:

curl -x "socks5://user:pwd@127.0.0.1:1234" "http://httpbin.org/ip"

具体根据 socks 版本,可以使用 socks4://socks4a://socks5:// 或者 socks5h://

或者,也可以通过开关 --socks5(不是 -x)来设置 curl socks 代理。运行相同命令行,但是要不同开关:通过--proxy-user 开关来设置用户名和密码。

curl --socks5 "127.0.0.1:1234" "http://httpbin.org/ip" --proxy-user user:pwd

总结

cURL 是一款强大的自动化工具,就代理支持而言是当之无愧的最佳命令行工具。由于 libcurl 配合 php 使用效果非常好,许多 web 程序都用它来进行网页抓取,是相关业务中不可或缺的利器。

点击这里查看 GitHub 上的存储库,以了解本文使用的完整代码。如果您觉得这篇文章有用,您可能也会喜欢我们关于反向与正向代理或网页解锁器的博文。

telegram telegram
telegram