如何用libcurl解析HTTP头?

时间:2011-01-02 21:13:18

标签: c http http-headers libcurl

我一直在环顾四周,我很惊讶似乎没有办法在libcurl中解析标题(这些日子似乎是http的规范C库)。

我发现最接近的是邮件列表帖子,有人建议其他人搜索邮件列表档案。

libcurl通过setopt提供的唯一设施是CURLOPT_HEADERFUNCTION,它会一次为一行提供标题回复。

考虑到headers can span multiple lines,这似乎完全过于原始。理想情况下,这应该一次正确完成(最好由库本身完成),而不是让应用程序开发人员不断重新发明。

修改

天真无效的一个例子,请参阅以下要点,其中包含一个libcurl代码示例和一个无法解析的正确形成的http响应:https://gist.github.com/762954

2 个答案:

答案 0 :(得分:11)

已经超过一年,所以我想我会把它关闭为“手动”。或者:

  

如果你有cURL问题,我觉得你儿子不好,

     

你有多行标题,必须解析每一个。

答案 1 :(得分:8)

libcurl读取整个标头并将其作为单个完整行发送给回调。

HTTP 1.1 RFC 7230系列中不允许使用“续”HTTP标题行,甚至在此之前它们几乎已经绝迹。