2011-12-15 4 views
2

Как я могу получить доступ к защищенной паролем веб-сервиса от AS3 (скомпилированный с использованием флэш-язь, поэтому не прогибается приложение)Доступ к защищенной паролем веб-сервиса

Я попытался просто назвав его прямо как http://username:[email protected] и она будет отвергнута.

попытался Также с помощью этого

var authHeader:URLRequestHeader = new URLRequestHeader("Authorization","Basic " + credentials); 
//add the header to request 
request.requestHeaders.push(authHeader); 

где «Полномочия» является имя пользователя: пароль, который я использовал веб-сайт для преобразования в base64.

Это, похоже, не работает. Не видя заголовка, отправляйте его в наблюдатель пакетов.

Я ничего не пропустил?

+0

Я задал этот вопрос до и в то время как I другие вопросы, вы могли бы найти это полезным: http://stackoverflow.com/questions/7752821/ does-flash-not-support-username-password-in-a-url-what-are-my-alternatives См. http://stackoverflow.com/questions/509219/flex-3-how-to-support -http-аутентификации URLRequest – Hawks

ответ

0

Попробуйте что-то вроде: (непроверенный код)

import flash.events.Event; 
import flash.events.IOErrorEvent; 
import flash.net.URLRequestMethod; 
import flash.net.URLLoaderDataFormat; 

    attemptLogin("dude","mypassword"); 

    function attemptLogin(username:String, pass:String):void { 

     var req:URLRequest new URLRequest("https://yoursite.com"); 
     req.method = URLRequestMethod.POST; 
     req.data = "username=" + username + "&password=" + pass; 
     var loader:URLLoader = new URLLoader(); 
     loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
     loader.addEventListener(Event.COMPLETE, completeFun); 
     loader.addEventListener(IOErrorEvent.IO_ERROR, IOErrorFun); 
     loader.load(request); 
    } 

    function completeFun(evt:Event):void { // Check server response (using evt.target.data)} 
    function IOErrorFun(evt:IOErrorEvent):void {} 
Смежные вопросы