我正在考虑在 Web 服务器模块中集成多部分表单数据解析,以便我可以减轻后端 Web 应用程序(通常用动态语言编写)自身解析多部分数据的负担。多部分语法(RFC 2046)看起来很重要,如果我手动实现它,很多事情都会出错。是否已经有一个用 C 或 C++ 编写的好、轻量级的多部分/表单数据解析器?我正在寻找一个除了 C 或 C++ 标准库之外没有外部依赖项的工具。我不需要电子邮件附件处理或缓冲 I/O 类或可移植运行时或其他任何东西,只需要多部分/表单数据解析。
我考虑过的事情:
- GMime - 依赖于 glib,所以不行。
- libapreq - 太大,取决于 APR,文档不完整,没有单元测试。
我也看过用 Ragel 写一个解析器,但我不知道怎么做,因为语法不是静态的:边界可以任意改变。