我从服务器提取数据但在拉取数据之前需要知道数据的类型。我知道我可以在响应头中查看内容类型,并且我已经研究过使用
curl --head http://x.com/y/z
但是有些服务器不支持“HEAD”命令(我得到501未实现的响应)。
是否有可能以某种方式使用curl进行GET,并在收到所有标题后立即断开连接?
答案 0 :(得分:1)
查看以下答案:
https://stackoverflow.com/a/5787827
流。 UNIX philosphy和管道:它们是数据流。由于curl和GET是unix过滤器,因此结束接收管道(dd)将提前终止curl或GET(SIGPIPE)。没有人知道服务器是否足够智能以阻止传输。但是在TCP级别上,我认为一旦没有更多响应,它将停止重试数据包。 @sehe
使用此方法,您应该可以下载任意数量的字节,然后取消请求。在收到一个空行后,你也可以使用一些魔法来终止,这意味着标题的结束。