0

こんにちは、「HTTP/1.1 200 OK」のようなリクエストだけでなく、html コード全体をサーバーから読みたいと思っています。しかし、方法がわかりません。「 https://github.com/roustem/AsyncSocket 」の Asyncsocket ライブラリを使用していますが、これをどのように処理できますか? 私は機能を使用しました

- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag

しかし、データは短く、httpリクエストのみを表示します。

ありがとう

4

2 に答える 2

0

より良い答えは、 を使用NSURLConnectionしてリクエストを作成し、レスポンスを解釈することです。

于 2013-02-28T22:47:33.867 に答える
0

readDataToData:timeout:tag:区切り文字として CRLF を使用して呼び出していると思います。これにより、1 行のデータが返されます。必要なのは、応答データの長さを伝えるのに十分なヘッダーを読み取ってから を呼び出すreadDataToLength:timeout:tag:か、接続が閉じられるのを待って を呼び出して、接続をunreadData閉じたときにサーバーが送信したすべてのものを取得することです。

HTTP 仕様では、メッセージの長さを決定する方法について説明しています: https://www.rfc-editor.org/rfc/rfc2616#section-4.4

于 2013-02-28T18:38:28.403 に答える