curl仅显示内容types

我想知道是否可以使用curl来仅显示响应头的内容types。

我想检查内容types是否是文本/ HTML例如在下载文件下载之前,然后找出它是应用程序/ pdf。

我使用下面的例子,希望它会返回文档,如果它对我有效,否则什么也不做! 下面的示例只是打印页面的全部内容。

curl -F "type=text/html" www.google.nl 

但是,如果我做下面的例子,它仍然下载整个事情,我不认为这是正确的…

 curl -F "type=text/html" http://www.axmag.com/download/pdfurl-guide.pdf 

非常感谢:D

选项-F用于表单。 相反,您希望通过使用选项-I来发送HEAD请求,以仅检索没有响应主体的响应标头

要显示一个URL的内容类型:

curl -s -I http://www.google.nl | grep“^ Content-Type:”

此处添加选项-s用于静默模式,以排除进度表和错误消息。

您也可以在HTTP请求中指定Accept标头。 此标头仅用于接受特定的内容类型:

curl -s -H“Accept:text / html” http://www.axmag.com/download/pdfurl-guide.pdf

但缺点是,大多数的网络服务器将为您提供一个错误页面,其中也有内容类型的text/html 。 因此,你仍然会得到一个HTML文件。

您也可以使用“-w”选项和“content-type”参数:

 curl -s -o /dev/null -w '%{content_type}' 'google.com' 

哪里:

-s:静音模式,不要再发送到屏幕上

-o:输出到文件,在这种情况下,发送到/ dev / null

-w:在这种情况下,只显示你想要的内容类型

参考: https : //curl.haxx.se/docs/manpage.html