URLRequest в AS3 не может прочитать правильный контент, когда сервер возвращает 403

Я использую URLRequest в клиенте Flash для получения некоторой информации от службы, служба проверит параметр в URL-адресе запроса, если параметр недействителен, сервер может вернуть 403 с некоторым содержимым в теле http, и мне нужно проанализировать содержимое, содержимое является строкой json:

{"code":3, "msg":"invalid channel"}

К сожалению, иногда URLRequest не может прочитать содержимое из URLStream, stream.bytesAvailable равно 0, кажется, что URLStream читает нулевые данные. Есть ли какая-либо ошибка в URLRequest? Или это только потому, что я использую это неправильно?

Вот код:

    public function test() {
        stream = new URLStream();
        request = new URLRequest(url);
        configureListeners(stream);
        var timer:Timer = new Timer(2000, 10);
        timer.addEventListener(TimerEvent.TIMER, onTimer);
        timer.start();
    }

    private function onTimer(e:TimerEvent):void {
        request.url = url + "&timestamp=" + getTimer();
        trace("try to load: " + request.url);
        stream.load(request);
    }

    private function configureListeners(dispatcher:EventDispatcher):void {
        dispatcher.addEventListener(Event.COMPLETE, completeHandler);
        dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
        dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    }

    private function completeHandler(event:Event):void {
        trace("completeHandler: " + event);
        parseHeader();
    }

    private function httpStatusHandler(event:HTTPStatusEvent):void {
        trace("httpStatusHandler: " + event);
    }

    private function ioErrorHandler(event:IOErrorEvent):void {
        trace("ioErrorHandler: " + event.toString());
        trace(stream.bytesAvailable + ", " + event.target.bytesAvailable + ", " + event.target.length);
    }

Вот журнал: введите описание изображения здесь

0 ответов

Другие вопросы по тегам