CURL如何在http错误代码上调用unix错误代码

时间:2014-04-02 20:51:21

标签: http unix curl

我正在调用curl到网站,检查http状态代码和数据是否返回。

有两种情况:

  1. SUCCESS 网站的HTTP状态代码:200(OK) 数据:无
  2. 需要的结果:CURL退出时使用0 unix状态代码

    1. FAILURE 网站HTTP状态代码:4xx(错误) - 可以是任何 数据:文本数据
    2. 需要的结果:CURL退出并显示错误状态代码

      现在使用curl和-f modifier(沉默)。

      curl https://mysite.com/something/deploy_status -f
      

      它工作得很好,因为它检查HTTP状态代码,并在出现任何问题时返回unix错误代码(22)。但是,我还需要获取带有错误代码的文本数据。

      我该怎么做?假设我只能进行一次卷曲调用,那里不可能编写脚本。

1 个答案:

答案 0 :(得分:2)

这是不可能的。在curl's manual page -f Fail silently (no output at all) on HTTP errors (H)

中严格提到了它

因此,再次进行curl调用以单独保存html。

curl -o output.html YOUR_URL_GOES_HERE

或者使用这个获取http状态代码以及html页面。

curl -s -w %{http_code} http://www.example.com/test -o output.html