Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > HttpConnection некорректно работает с chunked data


Автор: Green_DiCk 16.11.2009, 21:48
Суть проблемы:
Отправляю серверу POST-запрос, он мне в ответ присылает данные. Данные присылаются кусками (http параметр "chunked").

По идее для меня это должно быть совершенно прозрачно - кусками или не кусками. Однако на деле происходит следующее - после считывания данных из потока и формирования строки оказывается, что в строке содержатся лишние фрагменты, а именно размер chunked куска - шестнадцатеричное число + несколько других левых служебных символов, которые содержатся на стыке кусков. 

Выглядит это примерно так:

Код

— Если вы нарочно завизжали, чтоб меня разбудить, то завтра вы мне ответите за свой хулиганский поступ�

b5f

�к. 

Тут у нас снова поднялся словесный бой, из которого выяснилось, что к ней в кровать прыгнула со двора кошка, и через это она испугалась.



В слово "поступок" вклинивается граница двух частей - и виден размер части - b5f, причём всё это безобразие заменило букву "о". Вообще конкретный вид безобразия я привёл исключительно для наглядности - вопрос же, который интересует - как такое вообще может быть? HttpConnection должно само склеивать части и не посвящать меня в свои маленькие тайны, а тут оно вываливает свой служебный мусор посреди моих данных. 

Автор: Green_DiCk 21.11.2009, 14:57
Если у кого то будет такая проблема, то решить ее можно кодированием всего траффика в base64
Это вполне рабочее, хотя и не лучшее решение. Лучшим решением было бы всё таки докопаться до сути и устранить причину, однако пока у меня нет идей как это сделать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)