0

NSData連結された複数のHTTP応答または要求で構成されるオブジェクトがあります。このリクエスト/レスポンスのストリームを個々のCFHTTPMessageRefオブジェクトにトークン化する最も効果的な方法は何ですか?

CFHTTPMessageIsHeaderComplete私の現在のアプローチは、が返されるまで一度に1行ずつデータを読み取ることです。YESその時点で、ヘッダーの値を取得してContent-Length、この特定のリクエストに関連付けられた本文の長さを決定します。

このアプローチはかなりうまく機能しますが、チャンク転送エンコーディングの場合は失敗します。チャンク転送を処理するロジックを追加できるようになりましたが、解析ロジックは思った以上に大きくなります。同様に、私は現在、整形式のメッセージのみを扱っています。メッセージが完全にフォーマットされていない場合、メッセージはトリップします。

データのストリームを個別のHTTPメッセージに解析できるObjective-Cクラスのセットが(理想的には)ありますか?これlibcurlは実行できるものですか?

4

1 に答える 1

0

いいえ、libcurlはこれを分割できません。ネットワーク経由で受信する実際のHTTP応答のみを分離します。

于 2011-02-01T09:47:45.807 に答える