Как я могу отправить пользовательские заголовки с URLRequest - PullRequest
5 голосов
/ 01 июня 2011

Я хочу добавить заголовок авторизации к моим запросам.Я добавил следующую строку в файл 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);

1 Ответ

8 голосов
/ 01 июня 2011

Вот реализация, которую я недавно сделал, которая отлично работает для меня:

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 request вместо создания нового URLRequestHeader и пытаюсь его выдвинуть прямо в request.requestHeaders. Все остальное выглядит довольно хорошо для меня.

Надеюсь, это поможет! И удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...