Curl & Wget 在代理环境下使用

前言

curl wget是linux下常用的网络工具。 为了可以在http代理服务器下使用,需要加入代理,忽略证书验证的选项,才能正常使用。

Curl & Wget 在代理环境下使用_第1张图片
curl

curl

curl 最常使用的是 发送一个post请求,内容为json格式。

curl -v -X POST
http://localhost:8080/loginJSON
-H 'content-type: application/json'
-d '{ "user": "manu" }'

代理环境下的使用方法:

  • -x, --proxy <[protocol://][user:password@]proxyhost[:port]> 设置代理

注意:密码中的特殊字符需要url编码。

  • --insecure 选项

使用代理后,发现报如下错误。但是检查了浏览器中打开发现所访问的资源使用的是公开证书。

Curl & Wget 在代理环境下使用_第2张图片
image.png

于是使用 -v 选项查看详细输出。发现,代理环境下,http返回的是内网代理服务器的证书,而内网服务器的证书,通常不是公开证书。所以证书验证失败。

加入 --insecure 忽略证书校验后,即可正常访问资源了。

  • -v 详细输出

最终使用如下命令 可以正常使用。

curl -v --insecure -x https://user:[email protected]:8080 http://pic.58pic.com/58pic/15/14/29/47e58PICQUR_1024.jpg -o test.jpg

man curl

查看man手册,curl也支持以下环境变量。

Curl & Wget 在代理环境下使用_第3张图片
image.png

wget

export https://user:[email protected]:8080

wget -v -d --no-check-certificate https://pic.cifnews.com/upload/201807/27/201807271756229950.jpg

wget通过环境变量 设置https代理。 --no-check-certificate 不检查https证书。

你可能感兴趣的:(Curl & Wget 在代理环境下使用)