在C或C ++中是否有轻量级的multipart / form-data解析器?

我正在考虑在Web服务器模块中集成多部分表单数据解析,这样我就可以解除后端Web应用程序(通常用动态语言编写)来解析多部分数据本身。 多部分语法(RFC 2046)看起来并不重要,如果我手动实现它,很多事情都可能出错。 是否已经有一个用C或C ++编写的好的,轻量级的multipart / form-data解析器? 我正在寻找一个除了C或C ++标准库之外没有外部依赖关系的人。 我不需要电子邮件附件处理或缓冲的I / O类或可移植运行时或其他任何东西,只需要多部分/表单数据解析。

我考虑过的事情:

  • GMime – 取决于滑稽,所以不要去。
  • libapreq – 太大,取决于APR,记录严重,没有unit testing。

我也看过用Ragel编写一个解析器,但我无法弄清楚如何做到这一点,因为语法不是静态的:边界可以任意改变。

我知道这个问题现在已经有几年了,但是我需要同样的东西并最终使用它:

https://github.com/iafonov/multipart-parser-c

是的,有一个。 毫无疑问,这是我自己的。 随意使用它。 链接是: MPFDParser 。 它完全没有依赖关系。

模仿声称支持它。 我认为GNU cgicc也可以支持它。

cgicc支持它…但写得非常糟糕,并在内存中的入口缓冲区中继。

这可能不会直接回答你的问题,但你是否考虑过facebook的hiphop for php?

它将你的PHP代码转换为c ++然后用g ++编译。

可以节省你自己写东西的时间。