1

私はPythonでソケットをいじっています(それらを学ぶために)、HTTPプロトコルがどのように機能するかを学んでいます。と呼ばれるものがあることを知るまで、私は元気でしたTransfer-Encoding: chunked。Google で検索したところ、このウィキペディアの記事が見つかりました。各チャンクのサイズは、チャンク自体の前に指定されます。しかし、正しく取得するためにソケットから何バイト読み取る必要があるかはわかりません。さらに、エンディアンを気にする必要があるかどうかはわかりません。誰でもこれについて詳細を教えてもらえますか?

4

1 に答える 1

1

HTTP のほとんどは単なるプレーン テキストであるため、考えすぎないでください。CRLF シーケンスに遭遇するまでソケットから読み取り、チャンク サイズ (セミコロンで終了する場合があります) を抽出し、それを 16 進数として解釈する必要があります。

行を取得したら、これはチャンクサイズを抽出するために機能するはずです:

chunk_size = int(line.strip().split(';')[0], 16)
于 2012-08-24T11:35:06.123 に答える