访问受密码保护的Web服务

时间:2011-12-15 23:07:56

标签: actionscript-3

如何从AS3访问受密码保护的Web服务(使用flash ide编译,因此不是flex应用程序)

我试着像http://username:password@webserviceurl.co一样直接调用它并被拒绝。

也尝试使用此

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

其中“Credentials”是用户名:我刚刚使用网站转换为base64的密码。

这似乎也不起作用。没有看到标头在数据包观察器中发送。

我错过了什么吗?

1 个答案:

答案 0 :(得分: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 {}