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

curl 是一个很有名的处理网络请求的 类Unix 工具。出于某种原因,我们进行网络请求,需要设置代理。本文讲全面介绍如何为 curl 设置代理

设置代理参数

  • 基本用法
-x, --proxy [protocol://]host[:port]
  • 设置 HTTP 代理

下面两种设置代理的方式是可以的

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

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

由于代理地址的默认协议为 HTTP,所以可以省略,按照下面的形式也是可以的

curl --proxy "user:pwd@127.0.0.1:1234" "http://httpbin.org/ip"
  • Postman Curl Proxy
# 未加代理
curl --location --request GET 'jisutqybmf.market.alicloudapi.com/weather/query?citycode=101010100' \
--header 'Authorization: APPCODE 97423e60d80c47bd829e334d85a2156a'

# 加代理
curl -x "http://proxy_ip:port" --location --request GET 'jisutqybmf.market.alicloudapi.com/weather/query?citycode=101010100' \
--header 'Authorization: APPCODE 97423e60d80c47bd829e334d85a2156a'

使用环境变量

除了直接使用 curl 参数选项外,还可以使用全局的环境变量来处理,其中关于环境变量

  • 针对系统全局的环境变量进行设置
  • 具体是否生效,取决于工具是否读取采用对应的环境变量。curl 是支持的
  • 临时修改可以直接执行下面命令设置
  • 永久修改,需要讲下面的命令放到对应的配置文件,比如~/.bashrc或者~/.zshrc
# 设置 http proxy
export http_proxy="http://user:pwd@127.0.0.1:1234"

# 设置 https proxy
export https_proxy="http://user:pwd@127.0.0.1:1234"

取消 HTTP/HTTPS 代理

unset http_proxy
unset https_proxy

curl 配置文件设置代理

此外还有第三种方法,就是为 curl 设置专有名词的配置文件

  • 新建或打开 ~/.curlrc文件
vim ~/.curlrc
  • 增加 proxy 设置
proxy="http://user:pwd@127.0.0.1:1234"

覆盖 / 忽略代理

当存在多个代理配置的时候,curl 配置选项的优先级最高,因此可以使用下面的方法覆盖其他的配置

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

当存在其他的代理配置文件时,我们却不希望使用代理,可以使用下面的方式进行代理忽略

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

References

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆克和他的那些代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值