就我在man curl页面上看到的那样,-D选项应该为我提供服务器对我发送的请求的响应。 当我尝试读取我需要的文件,存储在我正在连接的服务器上时,我可以正确阅读:
curl -uUSERNAME:PASS SERVER-NAME/path-to-file > my_output
这是成功的,所以我可以使用我使用的凭据正确访问。 现在我想创建一个预读验证步骤,首先读取对我的访问尝试的响应,如果收到200 OK,继续请求文件... 所以我用
curl -D -uUSERNAME:PASS SERVER-NAME > my_output
现在我收到401回复,我不明白:
<title>401 Authorization Required</title>
有什么建议吗?
答案 0 :(得分:0)
尝试这样做:
intvar=$(curl -s -w %{http_code} http://SERVER-NAME/path-to-file -o /dev/null)
case $intvar in
4*|5*)
echo >&2 "Fatal: HTTP $intvar code spotted."
exit 1
;;
2*|3*)
echo "HTTP $intvar code spotted."
# 2nd curl command
;;
esac
见:
man curl | less +/^' *-w'