Flash Player会自动传输会话Cookie吗?
发布时间:2020-12-15 19:48:48 所属栏目:百科 来源:网络整理
导读:无法访问Flash影片中的HTTP Cookie,但我现在已反复阅读Flash Player应该自动处理会话Cookie。但是,我可以找不到任何关于此的文档,并且它确实没有使用我的Flex客户端使用默认的JSESSIONID cookie来运行Struts后端。 那么,Flash Player是否处理会话Cookie
无法访问Flash影片中的HTTP Cookie,但我现在已反复阅读Flash Player应该自动处理会话Cookie。但是,我可以找不到任何关于此的文档,并且它确实没有使用我的Flex客户端使用默认的JSESSIONID cookie来运行Struts后端。
那么,Flash Player是否处理会话Cookie,如果是这样,如何设置? 解决方法
来自Flash的HTTP请求将通过浏览器发送 – 所以,cookies会自动传输。实际上,我目前正在做一个网站来处理HTML页面中的登录(并因此设置会话cookie),然后将用户转发到仅Flash页面()。 Flash页面使用URLLoader& URLRequest,我可以验证每个会话cookie。
也就是说,您可以使用ExternalInterface.call()从Flash访问HTTP cookie。确保SWF嵌入代码中的allowScriptAccess设置为适当的值。 var cookies:String = ExternalInterface.call("function() { return document.cookie; }()"); 更新:我没有尝试过(登录闪存),但你可能是对的 – Flash可能忽略了Set-Cookie(或所有)响应头。不幸的是,Flash不允许我们访问响应头。但是,由于可以访问AJAX响应中的响应头(使用xhr.getResponseHeader),您可以使用ExternalInterface并将登录部分外包给AJAX。抓住AJAX响应中的标题,并使用javascript设置cookie(根据this SO thread,浏览器会自动执行)。一旦设置,从闪存发送的后续请求将包括其中的会话cookie。 使用ExternalInterface.addCallback方法注册可以从javascript调用的Flash方法。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |