日期:2014-05-17 浏览次数:20546 次
/**
* 这是基于HTTP协议的
* 一共介绍了五种方法
*/
package
{
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequestHeader;
import flash.utils.ByteArray;
/**
* ...
* @author .....Michael zhang
* @contact...QQ:271291823
*/
public class ASWithPHP_1 extends Sprite
{
private var urlLoader:URLLoader;
private var phpUrl:URLRequest;
public function ASWithPHP_1()
{
init();
}
private function init():void
{
urlLoader = new URLLoader();
phpUrl = new URLRequest("PHP地址");
/**
* 第一种:直接读取PHP里面的数据
*/
//----------------------------------
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
/**
* URLLoaderDataFormat.BINARY:String---->指定以原始二进制数据形式接收下载的数据
* URLLoaderDataFormat.TEXT:String----> 指定以文本形式接收已下载的数据
* URLLoaderDataFormat.VARIABLES:String---->指定以 URL 编码变量形式接收下载的数据
*/
urlLoader.load(phpUrl);
urlLoader.addEventListener(Event.COMPLETE, completeHandler1);
//-----------------------------------
/**
* 第二种:读取PHP生成的xml
*/
//-------------------------------------
urlLoader.load(phpUrl);
urlLoader.addEventListener(Event.COMPLETE, completeHandler2);
//-------------------------------------
/**
* 第三种:通过GET方法把参数传到PHP里面
*/
//--------------------------------------
phpUrl.method = URLRequestMethod.GET;
phpUrl.data = "要传出去的数据";
urlLoader.load(phpUrl);
urlLoader.addEventListener(Event.COMPLETE, completeHandler3);
//--------------------------------------
/**
* 第四种:通过POST方法把参数传到PHP里面
*/
//--------------------------------------
phpUrl.method = URLRequestMethod.POST;
var vars:URLVariables = new URLVariables();
vars.value1 = "参数1";
vars.value2 = "参数2";
phpUrl.data = vars;
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.load(phpUrl);
urlLoader.addEventListener(Event.COMPLETE, completeHandler4);
//--------------------------------------
/**
* 第五种:二进制通信方法
*/
//----------------------------------------
var requestHeader:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
phpUrl.method = URLRequestMethod.POST;
phpUrl.requestHeaders.push(requestHeader);
var byteArr:ByteArray = new ByteArray();
byteArr.writeByte(12);
byteArr.writeUTF("CNSloppyMan");
var sendData:ByteArray = new ByteArray();
sendData.writeInt(byteArr.length);
sendData.writeBytes(byteArr);
phpUrl.data = sendData;
ur