我想在我的请求中添加Authorization标头。 我在服务器的crossdomain.xml中添加了以下行:
<allow-http-request-headers-from domain="*" headers="Authorization"/>
但仍然没有发送标题(使用Wireshark检查)。
我错过了什么吗?
编辑:
urlRequest的代码:
var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.POST;
request.url = this.uploadURL;
request.data = post;
var requestHeader:URLRequestHeader = new URLRequestHeader("Authorization", "Basic ZXNhcGlyK2xhQGdtYWlsLmNvbTpFcmlrU2FwaXIyOQ==");
request.requestHeaders.push(requestHeader);
答案 0 :(得分:8)
这是我最近制作的一个对我很有用的实现:
var url:String = _baseURL + "/utils.php";
var headers:Array = [
new URLRequestHeader("_sessionKey", _sessionKey),
new URLRequestHeader("_userId", _sessionUserId)
];
var request:URLRequest = new URLRequest();
request.requestHeaders = headers;
request.method = URLRequestMethod.POST;
request.url = url;
///////////////////
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT; //don't know if this is really needed
loader.addEventListener(Event.COMPLETE, handleSuccess);
loader.addEventListener(IOErrorEvent.IO_ERROR, handleError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleError);
loader.load(request);
我能看到的唯一重大区别是我正在创建一个包含标题的新数组,然后将其分配给requestHeaders
的{{1}}属性,而不是创建新的URLRequestHeader和试图将其直接推入request
。其他一切看起来都不错。
希望这有帮助!祝你好运!