30

マルチパート フォーム データの解析を Web サーバー モジュールに統合して、バックエンド Web アプリケーション (動的言語で記述されることが多い) をマルチパート データ自体の解析から解放できるようにすることを考えています。マルチパート文法 (RFC 2046) は自明ではないように見えます。手作業で実装すると、多くのことがうまくいかない可能性があります。C または C++ で記述された、優れた軽量の multipart/form-data パーサーは既にありますか? C または C++ 標準ライブラリ以外に外部依存関係がないものを探しています。電子メールの添付ファイルの処理、バッファリングされた I/O クラス、ポータビリティ ランタイムなどは必要なく、マルチパート/フォーム データの解析だけが必要です。

私が検討したこと:

  • GMime - glib に依存しているため、使用できません。
  • libapreq - 大きすぎる、APR に依存、文書化が不十分、単体テストなし。

Ragel を使用してパーサーを作成することも検討しましたが、文法が静的ではないため、その方法がわかりません。境界は任意に変更できます。

4

5 に答える 5

10

この質問は数年前のものであることは知っていますが、同じものが必要で、最終的にこれを使用しました:

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

于 2012-08-12T17:25:00.937 に答える
6

はい、そこにあります。それは私自身のものであることは秘密ではありません。お気軽にご利用ください。リンクは次のとおりです: MPFDParser。依存関係はまったくありません。

于 2011-10-30T21:01:07.380 に答える
1

cgiccはそれをサポートしています...しかし、非常にひどく書かれていて、メモリ内のエントリバッファを中継します。

于 2010-04-12T06:47:45.997 に答える
1

それをサポートする模倣主張。GNU cgiccもサポートしていると思います。

于 2010-04-08T13:09:30.413 に答える
-5

これはあなたの質問に直接答えるものではないかもしれませんが、Facebook の PHP に Hiphop を検討しましたか?

php コードを c++ に変換し、g++ でコンパイルします。

自分で何かを書く時間を節約できるかもしれません。

于 2010-04-14T10:01:03.747 に答える