0

我有一个NSData对象,它由多个连接在一起的 HTTP 响应或请求组成。将这个请求/响应流标记为单个CFHTTPMessageRef对象的最有效方法是什么?

我目前的方法是一次读取一行数据,直到CFHTTPMessageIsHeaderComplete返回YES,然后我获取Content-Length标头的值以确定与此特定请求关联的正文的长度。

这种方法工作得相当好,但在分块传输编码的情况下会失败。我现在可以添加额外的逻辑来处理分块传输,但是我的解析逻辑会比我想要的增长更多。同样,我目前只处理格式良好的消息——如果消息格式不完美,它会出错。

是否(理想情况下)有一组 Objective-C 类可以将数据流解析为离散的 HTTP 消息?这是libcurl可以执行的东西吗?

4

1 回答 1

0

不,libcurl 不能为您拆分它。它仅分离通过网络接收的实际 HTTP 响应。

于 2011-02-01T09:47:45.807 回答