卷曲仅发布数据和标题

J.D*_*ald 73 curl

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

curl -I www.google.com

一切都很棒.现在我想这样做,但也传递后期数据:

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

但我得到的只是:

Warning: You can only select one HTTP request!

任何人都知道如何做到这一点,还是我做了一些愚蠢的事情?

J.D*_*ald 114

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

curl -s -d'test=test' -D- -o/dev/null www.google.com 
Run Code Online (Sandbox Code Playgroud)

或者,在Windows上:

curl -s -d'test=test' -D- -onul: www.google.com 
Run Code Online (Sandbox Code Playgroud)

就我所能找到的那样,这是最好的方法.选项是:

  • -D-将标题转储到列出的文件,或者-传递stdout ,如下所示.
  • -o/dev/null将正文发送到列出的文件.在这里,我们丢弃身体,所以我们只看到标题.
  • -s 沉默(没有进度条)

  • 解释标志的含义会有所帮助 (14认同)
  • ** - s**:无声(无进度条)** - d <data>**:使用给定的查询字符串执行POST** - D <file>**:dump-header to file(stdout当 - 被传递时)** - o <file>**:输出对文件的响应手册引用了所有这些标志. (8认同)

phi*_*hag 30

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

我也建议

  • 下载/dev/null并通过-D headerfile文件写入标题headerfile
  • 用于-i在答案中包含标题并跳过第一个空行的所有内容.