XML形式の応答を受け入れるURLStreamオブジェクトがありますが、残念ながら、応答の最初の4文字が切り取られており、xmlの形式が正しくありません。
URLLoaderオブジェクトを使用すると、サーバーから返されるxmlは正しくフォーマットされます。
誰かがこれを修正する方法を知っていますか?
private var _stream:URLStream;
_myVariables = new URLVariables();
_myVariables.email = _un;
_urlRqSend = new URLRequest(_loginURL);
var encoder:Base64Encoder = new Base64Encoder();
encoder.encode("password:"+_pw);
var credsHeader:URLRequestHeader = new URLRequestHeader("Authorization", "Basic " + encoder.toString());
_urlRqSend.requestHeaders.push(credsHeader);
_urlRqSend.data = _myVariables;
_urlRqSend.method = URLRequestMethod.POST;
_stream = new URLStream();
_stream.addEventListener(flash.events.Event.COMPLETE, handleResponse);
_stream.load(_urlRqSend);
private function handleResponse(ev:flash.events.Event):void{
trace("returned data: ",_stream.readUTFBytes(_stream.bytesAvailable));
}
出力
//返されたデータ:l version="1.0"...etc
正しい応答は次のようになります
//返されたデータ:<?xml version="1.0"...etc
ありがとう