Curl post数据并且只获取响应头
回答 2
浏览 6.6万
2008-11-13
我只想从curl请求中获取标头
curl -I www.google.com
一切顺利。现在我也想这么做,但还想传入 post 数据:
curl -I -d'test=test' www.google.com
但我得到的只是:
Warning: You can only select one HTTP request!
有人知道如何做到这一点还是我在做一些愚蠢的事情?
2 个回答
#1楼
已采纳
得票数 124
-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-
将标头转储到列出的文件中,或在传递-
时将其转储到 stdout,如下所示。-o/dev/null
将正文发送到列出的文件。在这里,我们丢弃正文,因此我们只能看到标题。-s
无声(无进度条)
对标志含义的解释会很有帮助
- Madbreaks 2012-04-04
-s:无声(无进度条)
-d <data>:使用给定的查询字符串执行 POST
-D <file>:将头信息转储到文件(当传递 - 时为 stdout)
-o <file>:将响应输出到文件
无论如何,手册列举了所有这些标志。 - raphael 2012-08-20
-d <data>:使用给定的查询字符串执行 POST
-D <file>:将头信息转储到文件(当传递 - 时为 stdout)
-o <file>:将响应输出到文件
无论如何,手册列举了所有这些标志。 - raphael 2012-08-20
如果有人想在 Windows 上运行它,只需将
-o/dev/null
替换为 -o nul
(在 Windows XP 中测试)。
- Jan Święcki 2012-12-31
#2楼
得票数 30
-d
表示您正在通过POST
方法发送表单数据。 -I
表示您只是通过HEAD
查看元数据。
我建议要么
- 下载到
/dev/null
并通过-D headerfile
将标头写入文件headerfile
- 使用
-i
在答案中包含标题并跳过第一个空行中的所有内容。
我知道这很老了,但我建议添加
-s
来稍微清理输出。
- rossipedia 2010-06-15
哇,是的,
-i
正是我认为每个人都在寻找的。为什么其他答案更复杂?我确信这里有一些细微差别。
- Cody Reichert 2018-02-16