当收到分块的http消息时,libcurl会暴露一些要回调的回调吗? 一台服务器与客户端建立基于彗星的http连接。 所以客户端使用常规http发送打开连接的请求, 具有分块http消息的服务器响应,其包含要由客户端处理的信息。使用打开的连接,服务器可能会在一个http请求上向客户端发送多条消息。每个必须以不同的方式处理。
有没有办法在没有等待连接被关闭的情况下发送这些消息?
答案 0 :(得分:0)
libcurl默认情况下不会公开块限制/边框,如果这是您要求的内容。 libcurl将"解码"分块编码数据并使用有效负载内容调用写回调,而不向应用程序显示块。然后,libcurl可以为每个传入的块调用一次或多次write回调。
或者,您可以选择更加强硬的路径,并要求libcurl提供数据"未编码",以便您的回调获取整个内容,包括分块编码的元数据,以便您获得自己解码。您可以使用CURLOPT_HTTP_CONTENT_DECODING选项告诉libcurl执行此操作。