73

我只想从 curl 请求中获取标头

curl -I www.google.com

都很盛大。现在我想这样做,但也要传递帖子数据:

curl -I -d'test=test' www.google.com

但我得到的只是:

Warning: You can only select one HTTP request!

任何人都知道如何做到这一点,或者我在做一些愚蠢的事情吗?

4

2 回答 2

117

-I选项告诉 curl 执行 HEAD 请求,而该-d'test=test'选项告诉 curl 执行 POST,因此您告诉 curl 执行两种不同的请求类型。

curl -s -d'test=test' -D- -o/dev/null www.google.com 

或者,在 Windows 上:

curl -s -d'test=test' -D- -onul: www.google.com 

这是我能找到的最简洁的方法。选项包括:

  • -D-将标头转储到列出的文件中,或者-传递时的标准输出,就像这样。
  • -o/dev/null将正文发送到列出的文件。在这里,我们丢弃了正文,因此我们只看到了标题。
  • -s静音(无进度条)
于 2008-11-13T15:45:42.707 回答
30

-d表示您正在通过该POST方法发送表单数据。-I意味着您只是通过HEAD.

我建议要么

  • 通过文件下载/dev/null并写入标题-D headerfileheaderfile
  • 用于-i在答案中包含标题并跳过第一个空行中的所有内容。
于 2008-11-13T14:14:06.417 回答