【问题标题】:Ask CURL to disconnect as soon as it receives a header要求 CURL 在收到标头后立即断开连接
【发布时间】:2012-07-24 04:56:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: http curl


    【解决方案1】:

    查看以下答案:

    https://stackoverflow.com/a/5787827

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

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

    【讨论】:

    • 有趣。我不知道提早终止的 pipee 进程也会终止 piper 进程。
    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    相关资源
    最近更新 更多