1

URLLoader/URLRequest の非常に奇妙な動作に遭遇しました。次のコードを見てください。

var loader:URLLoader   = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;

var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.POST;

if (params.action is ByteArray) {
    params.action = Base64.encodeByteArray(params.action);
}

var vars:URLVariables = new URLVariables();
for (var paramName:String in params) {
    vars[paramName] = params[paramName];
} 
request.data = vars;

loader.load(request);

HTTP raw リクエストを確認すると、次のように表示されます。

POST /actions/send/3882-fba04fd1db5b0ac4f4107dd06632e851 HTTP/1.1
Host: domainname.com
Content-Length: 237
Origin: http://anotherdomain.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: http://anotherdomain.com/page.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: foo=bar
Pragma: no-cache
Cache-Control: no-cache

Content-type: application/x-www-form-urlencoded
Content-length: 165

action=BASE64DATABASE64DATABASE64DATABASE64DATABASE64DATABASE64DATABASE64DATA

それで..wtf?URLLoader がヘッダー\r\nの後に挿入されるのはなぜですか? Cache-Control: no-cache解決策を見つけようとしましたが、運がありませんでした。

4

0 に答える 0