Jan
18
2010
as3与xmlrpc通信
这几天在研究flash如何与xmlrpc通信,在搜索引擎中找了很久都没发现相关资料,最终在国外发现了一个相关的包,弄到类包后研究一天多才搞清楚使用方法,下面是通过这个类包制作的一个flash,你可以通过该flash向你的博客发表一篇新的日志。目前测试支持Wordpress和emlog程序搭建的博客。但是我想凡是支持xmlrpc协议的博客都能使用本程序吧。
核心代码如下:
import com.mattism.http.xmlrpc.*;
import com.mattism.http.xmlrpc.util.*;
import com.mattism.http.xmlrpc.Connection;
import com.mattism.http.xmlrpc.ConnectionImpl;
import com.mattism.http.xmlrpc.util.XMLRPCDataTypes;
stop();
user.border=true;
user.borderColor=0x999999;
password.border=true;
password.borderColor=0x999999;
blogurl.border=true;
blogurl.borderColor=0x999999;
var SERVICE_URL:String =new String();
var rpc:Connection;
var BLOG_ID:String="1";
var USERNAME:String=new String();
var PASSWORD:String=new String();
login.addEventListener(MouseEvent.CLICK,CHECKUSER);
function CHECKUSER(e:MouseEvent) {
SERVICE_URL=blogurl.text;
USERNAME=user.text;
PASSWORD=password.text;
rpc= new ConnectionImpl(SERVICE_URL);
postIt();
}
function postIt() {
var post:Object = {};
rpc.addParam(BLOG_ID, XMLRPCDataTypes.STRING);// Blog Id
rpc.addParam(USERNAME, XMLRPCDataTypes.STRING);// Username
rpc.addParam(PASSWORD, XMLRPCDataTypes.STRING);// Password
rpc.addParam(1, XMLRPCDataTypes.INT);// Recent Number
rpc.addParam(post, XMLRPCDataTypes.STRUCT);// Post contents
rpc.addParam(true, XMLRPCDataTypes.BOOLEAN);// Post right away
rpc.call('metaWeblog.getRecentPosts');
}
你可以在这里下载到类包:http://danielmclaren.net/2007/08/03/xmlrpc-for-actionscript-30-free-library。包里包含了2个实例,不过实例是基于ActionScript2.0的。
另外国内有人似乎在基于上面的类包上弄了一个专门支持wordpress2.8的开源项目,以便使用wordpress为后台建立纯Flash博客,你可以通过这里访问:http://code.google.com/p/as3wordpresslib/

分类:
已被围观 