突破AsctionScrip安全沙箱限制,网页数据调用中转站

来源:互联网 发布:json文件注释 编辑:程序博客网 时间:2024/05/22 20:28

  
  众所周知,由于Flash8.0以上版本的沙箱问题,使得Player无法直接获取其他网站上的资源,即使那些资源可以通过HTTP来访问. 该作者使用JSP做为中转程序,间接通过本机JSP网页获取对方服务器数据,再提供给本机的SWF来使用,这个想法可以说的确很有新意.
来源:make by 蜘蛛  协助: 元素,白茶
//下面是程序范例

http://flex.icptj.com:8080/zdic.mxml<script type="text/javascript"><!--google_ad_client = "pub-0735278824539284";google_alternate_color = "FFFFFF";google_ad_width = 728;google_ad_height = 15;google_ad_format = "728x15_0ads_al_s";//2007-03-23: anyflexgoogle_ad_channel = "5596520589";google_color_border = "FFFFFF";google_color_bg = "FFFFFF";google_color_link = "3D81EE";google_color_text = "000000";google_color_url = "008000";//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

※适用于想利用AS3或AS2进行垮域加载网页而又受到安全沙箱 的限制时,即可使用本中传站
以下以as3为例来演示用法:

1.先调用本站的安全策略文件 (http://flex.icptj.com:8080/system/loadPolicyFile.xml):

Security.loadPolicyFile(http://flex.icptj.com:8080/system/loadPolicyFile.xml);

2.之后就可以用URLLoader来加载本中转页:

var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://flex.icptj.com:8080/systemt/Security");

3.最后一步就是用post或get方法传递几个参数过来:

var vars:URLVariables=new URLVariables();
vars.url="http://www.xxx.xxx";       //这参数为你要加载的目标网页地址
vars.method="POST/GET";        // 对目标网页使用POST或GET方法传递参数
vars.args="key1=value1;key2=value2";    //对目标网页传递的参数, "="号左边的是参数名,"="右边的是值,每组参数间用";"号隔开
vars.meta="key1=value1;key2=value2";   //设置一般请求属性。 key-用于识别请求的关键字,value-与该键关联的值。 此叁数可以不设置
vars.encoding="urf-8";          //设置字符编码 ,默认是utf-8;
request.data=vars;
loader.load(request);

/**
* 注意,当参数中有中文时,FLASH内一定要使用UTF-8码
* 即:
* System.useCodePage=true;
* 一定要为ture,否则服务器接收参数时会出来乱码
*/

4.如无意外,你已经取得目标网页上的数据

你也可以直接在网页上测试本中转站的实现效果,
如,通过中转取得百度上的查找的数据,我要查找的关键字是"swf",
可向百度用get方法传递参数wd=swf,具体实现如下:
http://flex.icptj.com:8080/system/Security?url=http://www.baidu.com/s&args=wd=swf&encoding=gb2312&method=GET
直接在IE上打开此地址可得到效果,因为百度使用gb2312编码,所以encoding=gb2312,
如果要像多个args参数,可以用";"号隔开,如args=wd=swf;bs=flex
以下是FLEX的实现效果:
汉语字典:     http://flex.icptj.com:8080/zdic.mxml
拼音转换+真人发音: http://flex.icptj.com:8080/samplers.mxml

 
原创粉丝点击