C/C++中HTTP解析库的建议

C/C++中HTTP解析库的建议

问题描述:

我正在为C/C++寻找HTTP解析库。 我看了curl库,但它似乎是一个http客户端库。 我正在寻找解析HTTP标头的库(例如,获取查询字符串,获取cookie,获取请求url,获取发布数据的方式 )?C/C++中HTTP解析库的建议

谢谢。

+0

你正在编写一个网络服务器或插件或CGI程序?即你真的会收到原始的HTTP或'煮熟'的头文件吗? – 2010-04-11 15:27:40

+0

原始HTTP标头。我需要通过从套接字读取的内容并解析http头文件。 – michael 2010-04-11 15:38:52

+0

*“有问题要求我们推荐或找到工具,图书馆或最喜欢的非现场资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,因此不适合堆栈溢出。”* – abelenky 2013-10-23 16:29:55

退房libebb,它与Ragel产生parser使用简单易用且功能强大的PEG(它基于的Zed Shaw的杂种解析器)

libebb是C.一个轻量级的HTTP服务器库它奠定了基础 通过提供插座杂耍 和请求解析编写一个Web服务器。通过实现RFC2612中提供的 的HTTP/1.1语法,libebb理解大多数最有效的HTTP/1.1连接 (包括持久的,流水线的和分块的请求)并拒绝无效或恶意请求。 libebb支持SSL over HTTP。

还要检查this speedy parser

+3

http解析器移到这里。 [https://github.com/joyent/http-parser](https://github.com/joyent/http-parser) – douyw 2012-11-09 01:57:26

+0

libebb源代码在这里 - > https://github.com/taf2/libebb/ – ParokshaX 2014-03-12 07:03:49

+0

希望那里会有一个很好的快速手写HTTP原位解析器。 – Lothar 2015-12-02 14:18:44

大约6个月前,我一直在寻找同样的东西。然后我找到了这个网页: HTTP Made Really Really Easy ,我只是写我自己......伟大的作品,令人惊讶的简单实现...

+10

简单,如果您不关心获取所有的角落案件的权利。多行状态代码,转义字符,国际字符串。 – 2010-04-11 17:10:50

+1

够正确。对我的使用没有任何影响... – dicroce 2010-04-12 16:34:28

+0

这个评论发布已经六年了。现在,我正在为我的嵌入式系统寻找c语言中的http解析器。我对系统资源很紧张。 @dicroce你的自己的HTTP解析器的经验如何。我应该写我自己的还是使用别人的。 – abhiarora 2016-06-02 04:21:26

我建议你看看到cpp-netlib,这是基于Boost.Asio