我有一个NSData
对象,它由多个连接在一起的 HTTP 响应或请求组成。将这个请求/响应流标记为单个CFHTTPMessageRef
对象的最有效方法是什么?
我目前的方法是一次读取一行数据,直到CFHTTPMessageIsHeaderComplete
返回YES
,然后我获取Content-Length
标头的值以确定与此特定请求关联的正文的长度。
这种方法工作得相当好,但在分块传输编码的情况下会失败。我现在可以添加额外的逻辑来处理分块传输,但是我的解析逻辑会比我想要的增长更多。同样,我目前只处理格式良好的消息——如果消息格式不完美,它会出错。
是否(理想情况下)有一组 Objective-C 类可以将数据流解析为离散的 HTTP 消息?这是libcurl
可以执行的东西吗?