Flash を作成する際に重宝しています。
そこでもよく使うのは flash.net.URLRequest & URLLoader の 2 クラス。
public function init():void {
var req:URLRequest = new URLRequest( url );
var header:URLRequestHeader("Authentification", "Basic " + ID);
req.method = URLRequestMethod.POST;
req.requestHeaders.push( header );
var loader:URLLoader = new URLLoader();
loader.addEventListener( Event.COMPLETE, completeHandler );
loader.load( req );
}
public function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace( loader.data.toString() );
}
これだけで、Remote Site にアクセスできてします。すばらしい!!
ようは、あれだ。
url 部分にたとえば、www.google.co.jp と入れると、wwww.google.co.jp の html を返してくれる。event が complete、つまり読み込み終了したら completeHandler 関数が呼び出される。この引数には event が渡されて、ここから返り値、つまり www.google.co.jp の html を取り出せるのだ。
応用としては、これから必要なhtml要素を取り出せばいい。たとえば、アマゾンサイト。Amazon Web サービスでは、様々本に関する情報を扱えるが、人気ランキングについては提供されていない。どうするか。自力で html から抜き出せばよいのだ。
上記の例はシンプルな HTTP POST だが、REST にも対応できる。REST は URL アクセスすると返り値を html でなく xml で返してくれるものだからね。この場合、見やすくするた completeHandler をちょっと修正しよう。
function completeHanlder(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
var xml:XML = new XML( loader.data.toString() );
trace( xml.toString() );
}
これで REST Response を扱えるようになった。後は、アクセスしたい XML Node にアクセスすればいい。
詳しくは ActionScript Hacks にもたんまりあります。
Actionscript 3.0 Cookbook
posted with amazlet on 07.08.15
Joey Lott Darron Schall Keith Peters
Oreilly & Associates Inc (2006/10)
売り上げランキング: 5022
Oreilly & Associates Inc (2006/10)
売り上げランキング: 5022
おすすめ度の平均: 
0 件のコメント:
コメントを投稿