2

我正在从服务器中提取数据,但在提取数据之前需要知道数据的类型。我知道我可以查看响应标头中的内容类型,并且我已经研究过使用

curl --head http://x.com/y/z

但是有些服务器不支持“HEAD”命令(我得到一个 501 未实现的响应)。

是否有可能以某种方式使用 curl 进行 GET,并在收到所有标头后立即断开连接?

4

1 回答 1

2

查看以下答案:

https://stackoverflow.com/a/5787827

流媒体。UNIX 哲学和管道:它们是数据流。由于 curl 和 GET 是 unix 过滤器,结束接收管道 (dd) 将提前终止 curl 或 GET (SIGPIPE)。不知道服务器是否足够聪明以停止传输。但是在 TCP 级别上,我想一旦没有更多响应它就会停止重试数据包。@sehe

使用此方法,您应该能够下载任意数量的字节,然后取消请求。您还可以在收到空白行后使用一些魔法来终止,这意味着标题的结尾。

于 2012-07-25T17:44:20.353 回答