用curl -D检查服务器响应

时间:2013-03-25 20:43:33

标签: linux curl

就我在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>

有什么建议吗?

1 个答案:

答案 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'