2011-06-01 22 views
5

我想添加授權標頭到我的請求。 我添加下面的行中的服務器的crossdomain.xml:我如何發送自定義標題URLRequest

<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

請發佈一個UrlRequest創建代碼。 – Eugeny89 2011-06-01 09:32:47

回答

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); 

唯一很大的不同,我可以看到我正在創建一個新的陣列,並在其中包含標題,然後將其分配給requestrequestHeaders屬性,而不是創建新的URLRequestH eader並試圖將其直接推入request.requestHeaders。其他一切對我來說都很不錯。

希望這會有所幫助!還有祝你好運!

+4

請注意,Flash可以[只發送'POST'請求​​的自定義標頭](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.html#requestHeaders),不是'GET'請求。 – 2014-01-31 20:08:06

+1

另一個重要免責聲明 - 並非所有標題都可以設置(特別是 - 授權和Cookie標題): http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestHeader.html – 2015-03-12 13:05:19

相關問題