AS3.0 网络加载Http请求工具类

// ActionScript file
package anUtil
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IEventDispatcher;
	import flash.events.ProgressEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLVariables;
	

	public class UrlUtil extends Sprite
	{
		private var  _Tag:String;
		/**
		 * 用于进行URL访问,
		 * @param Url:URL连接
		 * @param  Mode:交互的方式,POST或者GET
		 * @param  data:传过来的参数
		 * @param  Tag:标志,确定调用者身份
		 * @retrun boolean:是否成功执行
		 * */
	  public function UrlUtil(Url:String,Mode:String,data:Object,Tag:String)
	  {  
		  Main.loadingTag++;
		  _Tag=Tag;
		  switch(Mode)
	     {
		  case  "Login" : Login(Url,Mode,data); break;
		  case  "Get" :   Get(Url,Mode); break;
		  case  "POST" :  Post(Url,Mode,data as URLVariables); break;
		  }
	  }
	  
	  private function Get(Url:String,Mode:String):void{
		  var loader:URLLoader = new URLLoader();
		  //添加监听器
		  configureListeners(loader);
		  var request:URLRequest=new URLRequest(Url);
		  request.method = URLRequestMethod.GET;
		  try {
			  loader.load(request);
		  } catch (error:Error) {
			  trace("URL-GET请求失败,error:"+error.message);
		  }
	  }
	  private function Post(Url:String,Mode:String,variables:URLVariables):void{
		  var loader:URLLoader = new URLLoader();
		  //添加监听器
		  configureListeners(loader);
		  var request:URLRequest=new URLRequest(Url);
		  request.method = URLRequestMethod.POST;
		  request.data=variables;
		  try {
			  loader.load(request);
		  } catch (error:Error) {
			  trace("URL-POST请求失败,error:"+error.message);
		  }
	  }
	  private function Login(Url:String,Mode:String,data:Object):void{
	        	 var loader:URLLoader = new URLLoader();
		         //添加监听器
			 configureListeners(loader);
		 	 var request:URLRequest=new URLRequest(Url);
			  request.method = URLRequestMethod.POST;
			  //建立URLVariables对象
			  var variables:URLVariables = new URLVariables(); 
			  //需要传递的参数
			  variables.systemID = data.systemID;
			  variables.cipher = data.cipher;
			  request.data=variables;
		  try {
			  loader.load(request);
		  } catch (error:Error) {
			  trace("URL-POST请求失败,error:"+error.message);
		  }
	  }
	  
	  private function configureListeners(dispatcher:IEventDispatcher):void {
		  dispatcher.addEventListener(Event.COMPLETE, completeHandler);
		  dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
	  }
	  private function completeHandler(event:Event):void{
//		  trace("加载完成");
		  var e:MyEvent=new MyEvent("UrlLoaderComp");
		  e.string=URLLoader(event.target).data;
		  e.tag=_Tag;
		  dispatchEvent(e);
//		  trace("测试"+e.tag+"aaa"+e.string);
	  }
	  private function progressHandler(event:ProgressEvent):void
	  {
		  var i:Number=Math.round(event.bytesLoaded/event.bytesTotal*100);
//	  trace("已加载字节:" + event.bytesLoaded + " 总字节: " + event.bytesTotal+" 当前进度:"+i+"%");
	  }

	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值