2011-02-08 7 views
2

Как определить длину содержимого данных, если заголовок не отправляются, и вместо вашего получают Transfer-Encoding содержания: Chunked заголовок ..HTTP Блочной размер данных и длина

Я слышал, что есть способ сделать это, но я не смог его найти! Best, Moe

ответ

8

С коротким кодированием заголовка Content-Length не будет. Итак, после того, как вы прочитали заголовки и пару CRLF, которые отмечают конец заголовков, вы готовы прочитать первый фрагмент. Каждой полезной нагрузке блока предшествует собственный мини-заголовок - длина в шестнадцатеричном формате, за которой следует CRLF. И еще один CRLF после полезной нагрузки, перед мини-заголовком следующего куска. За куском также могут следовать некоторые необязательные трейлеры. Конец сообщения указывается фрагментом нулевой длины.

Подробные данные вы можете найти в HTTP RFC, RFC2616.

+2

Старая тема, но вот мой ответ, дающий пример с помощью RequestHeaders + ChunkedBody + AfterHeaders и дополнительной ключевой пары расширения в пределах размера блока. http://stackoverflow.com/a/16460234/185565 – Whome