curl 收到 302 或其他错误,很奇怪

curl 收到 302 或其他错误,很奇怪

我有以下 curl 命令

curl -X POST -w "\nRESULT CODE:%{http_code}\n" --insecure --header "Content-Type:application/json" --user robot-midc:1ZSXM7 -d @table.json http://databus.nrel.gov/api/registerV1

我收到以下回复

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.2.4</center>
</body>
</html>

嗯,我如何检查实际的 http 代码,它是 302 吗,因为 curl 文档声称它们遵循重定向,所以我不确定发生了什么?

谢谢,Dean


嗯,也许这是一个错误,因为 curl 不像浏览器那样遵循 http 到 https 的重定向????我的问题很简单,负载均衡器总是重定向到 https 并且我在那里有 http....很奇怪,如果 curl 能给出一个更好的错误提示就好了,因为它不会重定向到 https(即,不像文档所述那样遵循所有重定向)。

答案1

传递-LcURL并且它将遵循 302。

答案2

添加-v到 curl 以查看实际的标头响应。
默认情况下,它不遵循重定向,添加-L以也遵循重定向,但(来自手册页):

When authentication is used, curl only sends its credentials  to  the
initial  host.  If a redirect takes curl to a different host, it
won't be able to intercept the user+password. See  also  --location-trusted
on how to change this. 

相关内容