宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应

[AS3]AS3中用HTTPService类的代码示例

2016-10-13 00:16:48 点击量:15 标签: 收藏本文

在使用API的时候,如嘀咕、Twitter、饭否的API,会需要使用用户名和密码登录,一般都是使用HTTP Basic Authentication认证,使用HTTPService类访问这种URL时,需要设置headers,用户名和密码的格式为“username:password”,并且需要Basic64加密,具体代码如下。

  1. import mx.rpc.events.FaultEvent; 
  2. import mx.rpc.events.ResultEvent; 
  3. import mx.utils.Base64Encoder; 
  4. import mx.rpc.http.HTTPService; 
  5. URLRequestDefaults.authenticate = false;//设默认为false,否则用户较验错误时会弹出验证框 
  6.  
  7. private var result:XML; 
  8. private function initApp():void 
  9.     var base64enc:Base64Encoder = new Base64Encoder; 
  10.     base64enc.encode("user:password"); //用户名和密码需要Base64编码 
  11.     var user:String = base64enc.toString(); 
  12.  
  13.     var http:HTTPService = new HTTPService; 
  14.     http.addEventListener(ResultEvent.RESULT,resultHandler);//监听返回事件 
  15.     http.addEventListener(FaultEvent.FAULT,faultHandler);     //监听失败事件 
  16.     http.resultFormat = "e4x";//CuPlayer.com提示:返回格式 
  17.     http.url = "http://api.cuplayer.com/statuses/friends_timeline.xml"; 以嘀咕网的API为列 
  18.     http.headers = {"Authorization":"Basic " + user}; 
  19.     http.send(); 
  20. private function resultHandler(e:ResultEvent):void 
  21.     result = XML(e.result); 
  22.     test.dataProvider = result.status;//绑定数据 
  23. private function faultHandler(e:ResultEvent):void 
  24.     //CuPlayer.com提示:处理失败