我想知道是否可以使用curl来仅显示响应头的内容类型.
我想在下载下载文件的instate之前检查内容类型是否为text/html,然后找出它是application/pdf.
我使用下面的例子,希望如果它对我有效,它会返回文件,否则什么都不做!下面的示例只打印页面的完整内容.
curl -F "type=text/html" www.google.nl
Run Code Online (Sandbox Code Playgroud)
但是,如果我做类似下面的例子,它仍然下载整个事情,我不认为这是正确的...
curl -F "type=text/html" http://www.axmag.com/download/pdfurl-guide.pdf
Run Code Online (Sandbox Code Playgroud)
非常感谢:D
sca*_*cai 15
选项-F适用于表格.相反,您希望通过使用选项发送HEAD仅检索响应标头而没有响应主体的请求-I.
要显示URL的内容类型:
curl -s -I www.google.nl | grep"^ Content-Type:"
此处curl -s -I www.google.nl | grep "^Content-Type:"为静默模式添加了选项,用于排除进度表和错误消息.
您还可以-s在HTTP请求中指定标头.此标头仅用于接受特定内容类型:
curl -s -H"接受:text/html" http://www.axmag.com/download/pdfurl-guide.pdf
但缺点是大多数Web服务器都会为您提供一个错误页面,该页面也具有内容类型Accept.因此,您仍将获得HTML文件.
小智 7
您也可以使用"-w"选项和"content-type"参数:
curl -s -o /dev/null -w '%{content_type}' 'google.com'
Run Code Online (Sandbox Code Playgroud)
哪里:
-s:静音模式,不再向屏幕发送
-o:输出到文件,在这种情况下,发送到/ dev/null
-w:只显示您想要的内容,在本例中为内容类型
参考:https://curl.haxx.se/docs/manpage.html
| 归档时间: |
|
| 查看次数: |
12299 次 |
| 最近记录: |