Curl & Wget 在代理环境下使用

前言

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

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 选项

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

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.png

wget

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证书。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容