前言
curl wget是linux下常用的网络工具。 为了可以在http代理服务器下使用,需要加入代理,忽略证书验证的选项,才能正常使用。
curlcurl
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 选项
使用代理后,发现报如下错误。但是检查了浏览器中打开发现所访问的资源使用的是公开证书。
image.png于是使用 -v 选项查看详细输出。发现,代理环境下,http返回的是内网代理服务器的证书,而内网服务器的证书,通常不是公开证书。所以证书验证失败。
加入 --insecure 忽略证书校验后,即可正常访问资源了。
- -v 详细输出
最终使用如下命令 可以正常使用。
curl -v --insecure -x https://user:pass@proxy.com:8080 http://pic.58pic.com/58pic/15/14/29/47e58PICQUR_1024.jpg -o test.jpg
man curl
查看man手册,curl也支持以下环境变量。
image.pngwget
export https://user:pass@proxy.com:8080
wget -v -d --no-check-certificate https://pic.cifnews.com/upload/201807/27/201807271756229950.jpg
wget通过环境变量 设置https代理。 --no-check-certificate 不检查https证书。
网友评论