Итак, я захватываю HTTP-объект, такой как .png, из URL-адреса, используя свойство Range. Я нахожу длину содержимого всего объекта, а затем разбиваю начальные байты и заканчивая байты каждого диапазона. Все работает отлично до последнего диапазона.Почему ответ HTTP не дает мне мой указанный диапазон данных?
// My specified range is:
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
urlConnection.setRequestProperty("Range", "bytes=22128-27657");
// It returns (Response Header):
HTTP/1.1 206 Partial Content
Thu, 17 Mar 2016 17:04:34 GMT
Downloaded Size: 5533
bytes
5529
bytes 22128-27656/27657 // !!! - Incorrect
Keep-Alive
Однако на любом другом диапазоне, я получаю данные я прошу:
// My specified range is:
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
urlConnection.setRequestProperty("Range", "bytes=5533-11066");
// It returns (Response Header):
HTTP/1.1 206 Partial Content
Thu, 17 Mar 2016 17:04:34 GMT
Downloaded Size: 5533
bytes
5529
bytes 5533-11066/27657 // !!! - Correct
Keep-Alive
Что происходит?
Итак, я получаю все данные? –
Правильно. '22128-27656/27657' означает, что все остальные данные из позиции' 22128' в конец документа были возвращены. –