首页 文章

使用cURL执行HTTP请求(使用PROXY)

提问于
浏览
345

我有这个代理地址: 125.119.175.48:8909

如何使用cURL(如 curl http://www.example.com )执行HTTP请求,但是指定网络的代理地址?

14 回答

  • 11

    对于 curl ,您可以通过添加 proxy 值在 ~/.curlrc 文件中配置代理,语法为:

    proxy = http://username:password@proxy-host:port
    
  • 12

    只是总结所有提到的答案:

    curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
    
  • 6

    使用带有身份验证的代理我使用:

    curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
    

    因为,我没有't know why curl doesn' t使用/ catch http[s]_proxy 环境变量 .

  • 59

    如果您只是为一个关闭命令设置代理,则无需导出 http[s]_proxy shell变量 . 例如

    http_proxy=http://your.proxy.server:port curl http://www.example.com
    

    也就是说,如果我知道我总是要使用代理,我更喜欢 curl -x .

  • 2

    根据您的工作场所,您可能还需要为curl指定 -k--insecure 选项,以便解决CA证书的潜在问题 .

    curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
    
  • -1

    作为对airween的加入,另一个好主意是将它添加到.bashrc中,这样您就可以从非代理环境切换到代理环境:

    alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
    alias proxyoff="export http_proxy='';export https_proxy=''"
    

    你在哪里:YOURPORT就是这样,你的ip和端口代理:-) .

    然后,干脆做

    proxyon
    

    你的系统将开始使用代理,而正好相反:

    proxyoff
    
  • 99

    您可以使用 :

    curl http://www.example.com --proxy http://125.119.175.48:8909
    

    正如卡尔所解释的那样

  • 17

    使用以下内容

    curl -I -x 192.168.X.X:XX http://google.com

    192.168.X.X:XX 把您的代理服务器ip和端口 .

    -v 详细模式它将提供更多详细信息,包括 Headers 和响应 .

  • 513

    我喜欢用这个来获得我所看到的知识产权

    curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
    

    希望这有助于某人 .

  • 28

    一般方式:

    export http_proxy=http://your.proxy.server:port/
    

    然后,您可以通过代理从(许多)应用程序连接 .

    并且,根据下面的评论,对于https:

    export https_proxy=https://your.proxy.server:port/
    
  • 43

    来自 man curl

    -x, --proxy <[protocol://][user:password@]proxyhost[:port]>
    
         Use the specified HTTP proxy. 
         If the port number is not specified, it is assumed at port 1080.
    
  • 2

    上面的解决方案可能不适用于我自己尝试过的一些curl版本(curl 7.22.0) . 但对我有用的是:

    curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
    

    希望它能更好地解决问题!

  • 28

    请注意,如果您使用的是SOCKS代理,而不是HTTP / HTTPS代理,则需要使用 --socks5 开关:

    curl --socks5 125.119.175.48:8909 http://example.com/
    
  • 346

    如果代理使用PAC文件的自动代理 . 我们可以从PAC URL的javascript中找到实际的代理 .

    如果代理需要身份验证,我们可以先使用普通的Web浏览器访问网站,这将促进身份验证对话 . 验证后,我们可以使用wireshark捕获发送到代理服务器的http包,从http包中,我们可以从http头获取auth令牌: Proxy-Authorization

    然后我们可以设置http_proxy环境变量,并在http头中包含auth令牌: Proxy-Authorization

    export http_proxy = http://proxyserver:port

    卷曲-H "Proxy-Authorization: xxxx" http://targetURL

相关问题