Flash播放器和浏览器会话cookie发送问题

时间:2011-07-12 18:33:13

标签: flash flex session-cookies

我有一个很好的。

前天调用URLRequest时,浏览器中的会话cookie被发送回服务器进行身份验证。突然发出URLRequest时,浏览器不再发送会话cookie。当我在浏览器窗口中打开URLRequest中的副本和粘贴网址时,它可以正常工作。

你知道问题可能是什么......?

它与localhost有关吗?也许当从flash向localhost发送请求时,会话cookie不会被发回....但它现在已经推迟了好几个星期......我想不出我能改变什么......非常奇怪

提前感谢您的帮助 马丁

2 个答案:

答案 0 :(得分:0)

Flash中加载http地址的代码是:

            var request:URLRequest;
            var vars:URLVariables = new URLVariables();
            var urlLoader:URLLoader;

            request = new URLRequest(url);
            request.method = URLRequestMethod.GET;  
            urlLoader = new URLLoader();

            urlLoader.addEventListener(Event.COMPLETE, handleComplete); 
            urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            try {
                urlLoader.load(request);    
            } catch (error:Error) {
                LogUtil.debug("Unable to load Payment Data." + error);
            }

后端用ruby编码,我进行以下调用:

输入“SESSION ID:#{session [:user_id]}”

答案 1 :(得分:0)

简短的回答是,Flash不知道或控制浏览器是否将cookie附加到HTTP请求。 Flash只是调用浏览器的网络堆栈并稍后获得响应; Flash不会自己建立网络或处理cookie本身。所以我最好的选择可能是浏览器设置,服务器端的东西?不知道真的,但我认为AS3不会参与其中。