可以使用HTTP HEAD只请求报头,如curl(1)中的选项-I。

$ curl -I /

在命令行中获取冗长的HTML响应体是一件痛苦的事情,因此我希望只获得POST请求的报头作为反馈。但是,HEAD和POST是两种不同的方法。

如何让cURL只显示POST请求的响应头?


当前回答

虽然其他答案在所有情况下都不适合我,但我能找到的最佳解决方案(也可以使用POST),从这里开始:

Curl -vs 'https://some-site.com' 1> /dev/null

其他回答

更容易-这也遵循链接。

curl -IL http://example.com/in-the-shadows

- d, dump-header 将协议头写入指定文件。

   This  option  is handy to use when you want to store the headers
   that a HTTP site sends to you. Cookies from  the  headers  could
   then  be  read  in  a  second  curl  invocation by using the -b,
   --cookie option! The -c, --cookie-jar option is however a better
   way to store cookies.

其他答案要求下载响应体。但是有一种方法可以让POST请求只获取头文件:

curl -s -I -X POST http://www.google.com

-I本身执行HEAD请求,该请求可以被-X POST覆盖以执行POST(或任何其他)请求,并且仍然只获得头数据。

虽然其他答案在所有情况下都不适合我,但我能找到的最佳解决方案(也可以使用POST),从这里开始:

Curl -vs 'https://some-site.com' 1> /dev/null

下面的命令显示额外的信息

curl -X POST http://httpbin.org/post -v > /dev/null

你可以要求服务器只发送HEAD,而不是完整的响应

curl -X HEAD -I http://httpbin.org/

注意:在某些情况下,服务器可能会为POST和HEAD发送不同的报头。但在几乎所有情况下,头都是相同的。