4

Apache 2.0.x モジュールを C で実装して、既存の製品とのインターフェイスをとっています。ほとんどの場合 POST を使用して FORM データを処理する必要がありますが、GET ケースも処理したいと考えています。

Nick Kew のApache Modules book には、フォーム データの処理に関するセクションがあります。これは、キーと値のペアの apr_hash_t をフォームに返す POST と GET のコード例を提供します。parse_form_from_POST はバケット ブリゲードをマーシャリングし、それをバッファにフラット化しますが、parse_form_from_GET は単に URL を参照できます。どちらのルーチンも、parse_form_from_string ルーチンに依存して、区切られた各フィールドを調べ、情報をハッシュ テーブルに抽出します。

それは問題ありませんが、モジュールに数百行のコードを追加するよりも簡単な方法があるはずです。フィールド名と関連データを GET または POST FORM から C コードがより簡単にアクセスできる構造に抽出するための既存のモジュールまたはルーチンが apache、apr、または apr-util 内にありますか? 関連するものは何も見つかりませんが、これは解決策が必要な一般的なニーズのようです。

4

3 に答える 3

2

私は G-WAN に切り替えました。G-WAN は、GET および POST フォーム (およびチャート、GIF I/O などの他の多くの機能) 用の透過的な ANSI C スクリプト インターフェイスを提供します。

GWAN 開発者ページで、いくつかの AJAX の例を入手できます。

それが役に立てば幸い!

于 2010-12-16T11:47:20.703 に答える
0

「ApacheModules」の本の例に対する私自身の欲求不満の結果としてこのSOの質問を見つけたので、私はまだ解決策を試していません。しかし、これが私がこれまでに見つけたものです。もっと調べたら、この答えを更新します。

幸いなことに、これはApache2.4で関数を使用して解決された問題のようap_parse_form_dataです。

これがあなたの例と比べてどれほどうまく機能するかはわかりませんが、ここにはるかに簡潔なread_post関数があります。

価値がある可能mod_form性もあります。

于 2012-10-20T14:22:08.003 に答える
0

表面的には、これはよくあることのように思えるかもしれませんが、Apache 上の C での CGI スタイルのコンテンツ ハンドラーは非常にまれです。ほとんどの人は、CGI、FastCGI、または mod_perl などの無数のフレームワークを使用しています。

私が作成した C apache モジュールのほとんどは、すべての要求に適用できる特定の対象を絞った方法で Web サーバーの特定の動作を変更することを目的としています。

Apache モジュールの外部でハンドラーを作成することが可能な場合は、その戦略を追求することをお勧めします。

于 2008-09-19T18:39:16.693 に答える