Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Flash режет ответ на запрос (http://www.flasher.ru/forum/showthread.php?t=206739)

RigidFlasher 26.02.2014 14:00

Flash режет ответ на запрос
 
Здравствуйте.
Столкнулся вот с такой проблемой. Флэшка отправляет запрос на сервер, а в ответе сервера content_length из заголовка меньше, чем реальная длина ответа. Поэтому ответ обрезается. Можно ли с этим что-нибудь сделать, если код сервера я не могу поправить?
Мой код выглядит так
Код AS3:

_urlRequest = new URLRequest(this._url);
_urlRequest.method = URLRequestMethod.GET;
_urlLoader = new URLLoader();
_urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
_urlLoader.addEventListener(Event.COMPLETE, _onLoaded);
 
private function _onLoaded(event:Event):void
{               
// вот тут всё ломается, потому что конец у XML обрезан
this._resultXML = new XML(event.target.data);
}


Isfet 26.02.2014 14:46

вот так посмотрите, правильно ли приходит ответ, если все нормально, то проблема когда строка преобразуется в xml

Код AS3:

private function _onLoaded(event:Event):void
{               
trace(event.target.data);
}


RigidFlasher 26.02.2014 14:50

Цитата:

Сообщение от Isfet (Сообщение 1160718)
вот так посмотрите, правильно ли приходит ответ, если все нормально, то проблема когда строка преобразуется в xml

Код AS3:

private function _onLoaded(event:Event):void
{               
trace(event.target.data);
}


уже смотрел. строка обрезана, поэтому она перестаёт быть валидным XML.

silin 26.02.2014 14:58

может быть что-то с ограничением на максимальную длину get запроса, плохо понимаю в этой кухне, чтобы сказать конкретнее

RigidFlasher 26.02.2014 15:02

Цитата:

Сообщение от silin (Сообщение 1160722)
может быть что-то с ограничением на максимальную длину get запроса, плохо понимаю в этой кухне, чтобы сказать конкретнее

сам запрос достаточно короткий, меньше 255 байт

Gaen 26.02.2014 16:48

Я бы поснифал запросы, чтобы удостовериться, что сервер отдает корректные данные.

gloomyBrain 26.02.2014 21:06

Цитата:

Сообщение от Gaen (Сообщение 1160729)
Я бы поснифал запросы, чтобы удостовериться, что сервер отдает корректные данные.

По-моему, очевидно , что сервер отдает невалидные данные, ведь content-length не соответствует реальной длине.

Если с сервером ничего сделать нельзя (руки, например, оторвать серверному программисту), то рекомендую попробовать URLStream

RigidFlasher 27.02.2014 07:10

Цитата:

Сообщение от Gaen (Сообщение 1160729)
Я бы поснифал запросы, чтобы удостовериться, что сервер отдает корректные данные.

Да, запросы я снифил. Корректно всё, кроме длины в заголовке.
Цитата:

Сообщение от gloomyBrain (Сообщение 1160740)
По-моему, очевидно , что сервер отдает невалидные данные, ведь content-length не соответствует реальной длине.

Если с сервером ничего сделать нельзя (руки, например, оторвать серверному программисту), то рекомендую попробовать URLStream

Посмотрел, но не совсем понял, как им пользоваться в моей ситуации. Судя по всему, там bytesAvalible после окончания загрузки тоже берётся из заголовка.

Isfet 27.02.2014 11:10

Цитата:

Сообщение от RigidFlasher (Сообщение 1160793)
Корректно всё, кроме длины в заголовке.

не могу понять, о каком заголовке идет речь?

всегда просто слал из пхп xml , и никогда не указывал его размер, приходил всегда необрезанным, любого размера, на сервере нет возможности в JSON данные выдавать? В вашем случае не флеш режет ответ на запрос, а сервер.

gloomyBrain 27.02.2014 13:02

Цитата:

Сообщение от RigidFlasher (Сообщение 1160793)
Посмотрел, но не совсем понял, как им пользоваться в моей ситуации. Судя по всему, там bytesAvalible после окончания загрузки тоже берётся из заголовка.

В таком случае остается только выяснить почему сервер отдает заголовок, который не соответствует истине


Часовой пояс GMT +4, время: 12:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.