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


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

    设置代理参数

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

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

    1. curl -x "http://user:pwd@127.0.0.1:1234" "http://httpbin.org/ip"
    2. 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
    1. # 未加代理
    2. curl --location --request GET 'jisutqybmf.market.alicloudapi.com/weather/query?citycode=101010100' \
    3. --header 'Authorization: APPCODE 97423e60d80c47bd829e334d85a2156a'
    4. # 加代理
    5. curl -x "http://proxy_ip:port" --location --request GET 'jisutqybmf.market.alicloudapi.com/weather/query?citycode=101010100' \
    6. --header 'Authorization: APPCODE 97423e60d80c47bd829e334d85a2156a'

    使用环境变量

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

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

    取消 HTTP/HTTPS 代理

    1. unset http_proxy
    2. 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

  • 相关阅读:
    MyBatis模糊查询
    Docker概念及安装
    拓端tecdat|r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
    “双新”背景下需家校社协同培养孩子核心素养
    Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:无人机自主飞行软件平台
    Java程序员必备的工具和框架
    【教你如何绕过pyecharts中render_notebook()不显示画图的坑】
    idea 打开文件一直loading
    springboot邮件分发
    学习JAVA如何更快高效的掌握
  • 原文地址:https://blog.csdn.net/Dream_Weave/article/details/126041539