自动检测http和https的RemoteObject
程序员文章站
2022-06-11 16:43:06
...
package { import util.BrowserUtil; import mx.controls.Alert; import mx.messaging.Channel; import mx.messaging.ChannelSet; import mx.messaging.channels.AMFChannel; import mx.messaging.channels.SecureAMFChannel; import mx.rpc.remoting.mxml.RemoteObject; public class RemoteObjectWrapper { private var _remote:RemoteObject; private var _destination:String; private var _url:String; private var _useSecureAMFChannel:Boolean=false; public function RemoteObjectWrapper(destination:String,useSecureAMFChannel:Boolean=false,url:String=null) { this._destination=destination; this._useSecureAMFChannel=useSecureAMFChannel; this._url=url; } public function get newInstance():RemoteObject{ this._remote=new RemoteObject(_destination); _remote.channelSet=new ChannelSet(); var channel:Channel=newChannel(); _remote.channelSet.channels=[channel]; _remote.requestTimeout=7200; return _remote; } private function newChannel():Channel{ var channel:Channel; if(this._url==null || this._url.length==0){ var browserUtil:BrowserUtil=BrowserUtil.getInstance(); if(this._useSecureAMFChannel || browserUtil.isHttpsURL){ channel=new SecureAMFChannel(); channel.url="/"+browserUtil.contextRoot+"/messagebroker/amfsecure"; }else{ channel=new AMFChannel(); channel.url="/"+browserUtil.contextRoot+"/messagebroker/amf"; } }else{ if(this._useSecureAMFChannel || this._url.indexOf("https")>-1 || this._url.indexOf("amfsecure")>-1){ channel=new SecureAMFChannel(); channel.url=_url; }else if(this._url.indexOf("http")>-1 || this._url.indexOf("amf")>-1){ channel=new AMFChannel(); channel.url=_url; } } return channel; } } }
推荐阅读
-
ajax请求头怎么设置(ajax和http请求的区别)
-
HTTP的Referrer和Referrer Policy设置
-
apache设置自动将http跳转到https的方法
-
什么是HTTPS?听大神说https和http有何区别?
-
php中http与https跨域共享session的解决方法
-
详解android 用webview加载网页(https和http)
-
HTTP_HOST 和 SERVER_NAME 的区别详解
-
iOS9苹果将原http协议改成了https协议的方法
-
Apache mod_rewrite实现HTTP和HTTPS重定向跳转
-
Apache由http自动跳转到https的多种方法