-D, --dump-header <file>
Write the protocol headers to the specified file.
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.
和
-S, --show-error
When used with -s, --silent, it makes curl show an error message if it fails.
和
-L/--location
(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response
code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested
pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different
host, it won’t be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to
follow by using the --max-redirs option.
When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP
response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified
method.
说明: -v打印调试信息(不包括标题) -o.将网页数据(我们希望忽略)发送到某个文件,在本例中为.,该文件是一个目录,是一个无效的目标,并使输出被忽略。 -s没有进度条,没有错误信息(否则您将看到Warning: Failed to create the file .: Is a directory)
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.
9条答案
按热度按时间iibxawm41#
和
和
从手册页。因此
遵循重定向,将标头转储到stdout,并将数据发送到/dev/null(这是GET,而不是POST,但您可以对POST执行相同的操作-只需添加您已经用于POST数据的任何选项)
请注意
-D
后面的-
,它表示输出“文件”是stdout。piah890a2#
其他的答案需要下载响应主体。但是有一种方法可以生成一个POST请求,它只获取头:
-I
本身执行HEAD请求,该HEAD请求可以被-X POST
覆盖以执行POST(或任何其他)请求,并且仍然仅获得头部数据。fkvaft9z3#
以下命令显示额外信息
您可以要求服务器只发送HEAD,而不是完整的响应
Note:
在某些情况下,服务器可能会为POST和HEAD发送不同标头但在几乎所有情况下,标头都是相同mkh04yzy4#
对于长响应主体(以及其他各种类似情况),我使用的解决方案总是通过管道传输到
less
,因此或
我会做的。
uidvcgyl5#
也许这有点极端,但我用的是这个超短版本:
说明:
-v
打印调试信息(不包括标题)-o.
将网页数据(我们希望忽略)发送到某个文件,在本例中为.
,该文件是一个目录,是一个无效的目标,并使输出被忽略。-s
没有进度条,没有错误信息(否则您将看到Warning: Failed to create the file .: Is a directory
)l7mqbcuq6#
更容易-这也遵循链接。
bihw5rsg7#
虽然其他答案并不适用于所有情况,但我能找到的最佳解决方案(也适用于
POST
)取自here:curl -vs 'https://some-site.com' 1> /dev/null
个dw1jzc5e8#
headcurl.cmd(视窗版本)
-s
,-S
,-k
,-v
(这是关于故障排除的,是吗?),%*
的意思是[将所有参数传递给此脚本](通常是(https://stackoverflow.com/a/980372/444255),通常只有一个参数:你正在测试的网址实际示例(关于代理问题的疑难解答):
第一个
Linux版本
对于您的
.bash_aliases
/.bash_rc
:uxh89sit9#
-D,--dump-header将协议头写入指定的文件。