有没有shell命令来查看HTTP请求的标题?
例如,我想知道从www.example.com/test.php
检索到的标题是什么
我该怎么做?
为了仅检索标题,请尝试一下:
curl -I example.com
从man
页:
-I / – 头
(HTTP / FTP / FILE)只提取HTTP头文件! HTTP服务器具有HEAD命令,它只用于获取文档的标题。 在FTP或FILE文件上使用时,curl仅显示文件大小和上次修改时间。
例如使用wget
wget -O - -o /dev/null --save-headers www.example.com/test.php
你可以用curl来做到这一点:
curl -i 'http://example.com/'
结果:
HTTP/1.0 302 Found Location: http://www.iana.org/domains/example/ Server: BigIP Connection: Keep-Alive Content-Length: 0
(由于某种原因,IANA决定redirectexample.com,结果是:没有任何机构)
curl有关-i
选项的手册页 :
-i / – 包括
(HTTP)在输出中包含HTTP头。 HTTP头包括诸如服务器名称,文档date,HTTP版本等等。
你可以看到他们curl 。
或者您可以使用HEAD http://www.example.com
。 结果与curl -i 'http://example.com/'
产生的结果非常相似,尽pipe它似乎返回更多的标题。
200好 连线:closures date:Sun,20 Mar 2011 19:08:58 GMT 服务器:Apache / 2.2.3(CentOS) 内容长度:2945 Content-Type:text / html; 字符集= UTF-8 Last-Modified:Wed,09 Feb 2011 17:13:15 GMT 客户 - date:2011年3月20日星期日19:09:08 GMT Client-Peer:192.0.32.8:80 客户端响应号码:1
使用curl --include
将response-header包含在response-body的顶部。
或curl --verbose
看到这一切包括SSL证书交换握手(加上其他debugging信息)
如果请求本身和响应主体都不是你所关心的,那么就使用curl --head
例如curl --head --no-check-certificate --url "https://example.com"
。
你可以下载已经为大多数平台预编译的gnu curl
。 curl也是非常有用的,尤其是如果你想要在脚本中pipe道或redirect结果。
* 例如: https : //superuser.com/a/1007898/429721