curl命令使用问题记录


curl for Windows官网下载:
https://curl.haxx.se/windows/

问题1️⃣: curl命令http请求3xx跳转解决办法
再测的一个项目是使用 curl命令来实现文件下载,之前跑着都挺好的,今天怎么都下载不下来。原来是请求的这个链接有一个302的跳转。


302 Found

302 Found


nginx

上网查了一下发现其实 curl 命令是支持请求重定向的,可以通过 -L 参数配置,如下

curl -L http://www.xxxx.com

官网相关说明文档:
https://curl.haxx.se/docs/httpscripting.html#Location_header

问题2️⃣: 跳转后的协议是 https ,curl命令默认不支持 SSL
curl: (60) SSL certificate problem: self signed certificate in certificate chain
curl: (1) Protocol https not supported or disabled in libcurl

解决方法:
curl默认使用一个“bundle”执行SSL证书验证证书颁发机构(CA)的公钥(CA certs)。
如果默认包文件不够用,可以指定一个备用文件使用——cacert选项。
如果这个HTTPS服务器使用一个由CA签名的证书包、证书验证可能由于a而失败
证书的问题(可能过期,或者名称可能过期)不匹配的域名在URL)。
如果您想关闭curl的证书验证,请使用-k(或--insecure)选项。

用curl访问https网址的命令:

curl -k https://www.xxxx.com

注意-k的目的就是让curl不对服务器的https证书认证。
有关SSL证书问题,参考官网:
https://curl.haxx.se/docs/sslcerts.html

你可能感兴趣的:(curl命令使用问题记录)