我一直在寻找一种通用的方式来解析libcurl中的头文件(目前似乎是HTTP的C语言标准库),但很惊讶地发现似乎没有这样的方法。
我找到的最接近的方法是一个邮件列表,其中有人建议别人搜索邮件列表存档。
libcurl提供的唯一功能是通过setopt设置的CURLOPT_HEADERFUNCTION
,它会一次传递一行响应头。
考虑到头可以跨越多行,这种方法看起来过于简单了。理论上应该只需要正确地执行一次(最好由库本身完成),而不是一直要求应用程序开发人员去重新发明轮子。
编辑:
一个天真的例子无法工作,请参见以下gist,其中包含libcurl代码示例和无法解析的正确格式的http响应:https://gist.github.com/762954
CURLOPT_HEADERFUNCTION
并且将CURLOPT_HEADER
设置为true,libcurl似乎也会对头行进行一些处理。也就是说,它正在进行相当无用的词法分析。 - jberryman