我只想从curl请求中获取标头
curl -I www.google.com
都好 现在我想这样做,但也要传递帖子数据:
curl -I -d'test=test' www.google.com
但是我得到的是:
Warning: You can only select one HTTP request!
有人知道如何执行此操作,还是我在做一些愚蠢的事情?
Answers:
该-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
静音(无进度条)-o/dev/null
为-o nul
(在Windows XP中经过测试)。
-d
表示您正在通过POST
方法发送表单数据。-I
表示您只是通过窥视元数据HEAD
。
我建议
/dev/null
并将标题通过写入-D headerfile
文件headerfile
-i
将标题包含在答案中,并从第一个空行跳过所有内容。-s
一点清理输出。
-i
,正是我认为每个人都在寻找的东西。为什么其他答案更复杂?我确定这里有些细微差别。