我想知道是否可以使用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