1
如何在傳輸編碼被分塊的情況下知道HTTP響應塊的大小。我無法獲取邏輯。 請幫助我。並且提供一些示例java代碼來獲取chunk的大小。我在某些書中讀到了每個chunk的大小在chunk本身之前指定的大小。但是使用哪種邏輯可以獲得它。 請幫我使用java。如何在傳輸編碼被分塊的情況下使用java獲取http響應中塊的大小
謝謝。
如何在傳輸編碼被分塊的情況下知道HTTP響應塊的大小。我無法獲取邏輯。 請幫助我。並且提供一些示例java代碼來獲取chunk的大小。我在某些書中讀到了每個chunk的大小在chunk本身之前指定的大小。但是使用哪種邏輯可以獲得它。 請幫我使用java。如何在傳輸編碼被分塊的情況下使用java獲取http響應中塊的大小
謝謝。
無法準備好使用代碼,但Apache HttpClient庫支持「全部」開箱即用。
這是維基百科的分塊響應示例。在讀取正文部分之前,您不知道數據的確切字節大小。請注意每個塊的大小是十六進制值,最後一個大小的塊是數據的結尾。它也由2個字節的CRLF分隔符終止。
Transfer-Encoding: chunked\r\n
Content-Type: text/plain\r\n
\r\n
4\r\n
Wiki\r\n
5;extkey=extvalue\r\n
pedia\r\n
E\r\n
.in\r\n
\r\n
chunks.\r\n
0\r\n
AfterBodyHeader: some value\r\n
AfterBodyHeader2: any value\r\n
\r\n
此示例使用\ r \ n佔位符以指示2字節的定界符作爲規格要求
謝you..but我在一個頁面中發現CHUNK_SIZE = INT(line.strip()。分裂(」 ;')[0],16)我不明白這一行。他們已經給出了這個邏輯來查找塊的大小。但是什麼是[0]索引以及爲什麼放置16個。我不明白這個說法。請你幫忙我。 – user2365917 2013-05-09 11:11:38
「5; extkey = extvalue」.split(;)給出了兩個元素[0] =「5」,[1] =「extkey = extvalue」的數組。 int(arr [0],16)將第一個字符串元素轉換爲整數值,請注意chunk的大小是十六進制,這就是爲什麼16的指示符。如果行沒有擴展名(;)分割只返回一個大小的數組和strToInteger轉換仍然有效。 – Whome 2013-05-09 11:21:56
上面的邏輯即int(arr [0],16)直接給出了我看來的字節塊大小。 – user2365917 2013-05-09 11:30:52