使用Curl导出Excel遇SSL记录过长错误,如何成功获取文件?
解决Curl导出Excel时的SSL记录过长错误
先看看你执行的命令和遇到的问题:
[miaoyou@MeowK8SSlave3 ~]$ curl https://10.244.6.75:11024/illidan-hub/report/game/export?startDateTime=2020-06-01%2000:00:00&endDateTime=2020-06-31%2023:59:59&tenantId=1&appIds=1 -o a.xls [1] 2607 [2] 2608 [3] 2609 [2]- Done endDateTime=2020-06-31%2023:59:59 [miaoyou@MeowK8SSlave3 ~]$ curl: (35) SSL received a record that exceeded the maximum permissible length
结合命令里的后台进程编号([1][2][3]),我帮你拆解问题,一步步解决:
第一步:修复命令格式问题
你命令里的&是HTML转义后的&,在bash里直接用&就行,但必须把整个URL用引号包裹——不然bash会把&当成后台执行的分隔符,导致你的命令被拆成多个后台进程,这也是为什么会出现[1] 2607这类输出的原因。另外注意:6月没有31号,endDateTime应该改成2020-06-30,不然服务器可能会返回日期格式错误。
修正后的命令应该是:
curl "https://10.244.6.75:11024/illidan-hub/report/game/export?startDateTime=2020-06-01%2000:00:00&endDateTime=2020-06-30%2023:59:59&tenantId=1&appIds=1" -o a.xls
第二步:排查SSL握手问题
如果执行修正后的命令还是出现SSL received a record that exceeded the maximum permissible length错误,通常是以下几种情况:
目标端口实际不是HTTPS服务:有时候服务配置错误,这个端口跑的是HTTP而非HTTPS,你可以尝试把
https://改成http://再试:curl "http://10.244.6.75:11024/illidan-hub/report/game/export?startDateTime=2020-06-01%2000:00:00&endDateTime=2020-06-30%2023:59:59&tenantId=1&appIds=1" -o a.xls服务器证书不被信任:如果确实是HTTPS服务,但你的系统不认可服务器的SSL证书,可以临时用
-k参数跳过证书验证(仅限测试环境,生产环境不建议这么做,最好是导入信任的证书):curl -k "https://10.244.6.75:11024/illidan-hub/report/game/export?startDateTime=2020-06-01%2000:00:00&endDateTime=2020-06-30%2023:59:59&tenantId=1&appIds=1" -o a.xls网络代理/防火墙干扰:如果你的请求经过代理服务器或防火墙,它们可能篡改了SSL流量导致错误。可以尝试关闭系统的代理设置,或者直接在目标服务所在的网络环境执行命令,排除网络层面的干扰。
先从命令格式修正开始试,应该能解决大部分问题,如果还不行再排查后面的SSL和网络问题。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

