curl for Windows官网下载:
https://curl.haxx.se/windows/
问题1️⃣: curl命令http请求3xx跳转解决办法
再测的一个项目是使用 curl命令来实现文件下载,之前跑着都挺好的,今天怎么都下载不下来。原来是请求的这个链接有一个302的跳转。
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
上网查了一下发现其实 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
网友评论