使用URLRequest发布表单时,如何在浏览器会话中包含cookie?

Eri*_*ric 4 cookies flash urlrequest

(参考这个答案 :)

当我使用URLRequest进行POST时,它是否自动包含来自托管Flash的浏览器会话中的cookie?如果没有,我怎么能把它包括在内,或者如果需要的话,检索它们并自己包含它们?

Chr*_*ato 8

如果cookie域(托管Flash控件的页面和您要发布的URL)匹配,则是,默认情况下,浏览器cookie随请求一起发送.作为一个简单的例子(这里的工作版本),我把一个简单的ColdFusion页面放在一起,托管一个包含以下代码的SWF:

<mx:Script>
    <![CDATA[

        private function btn_click():void
        {
            var req:URLRequest = new URLRequest("http://test.enunciato.org/test.cfm");
            req.method = URLRequestMethod.POST;

            var postData:URLVariables = new URLVariables();
            postData.userName = "Joe";
            postData.userCoolness = "very-cool";

            req.data = postData;
            navigateToURL(req);
        }

    ]]>
</mx:Script>

<mx:Button click="btn_click()" label="Submit" />
Run Code Online (Sandbox Code Playgroud)

...在该页面中,我设置了一个名为"USERID"的cookie,其值为"12345".单击"提交"并导航到另一个CFM后,我的服务器日志会显示请求中传递的cookie:

POST /test.cfm HTTP/1.1 Mozilla/5.0
ASPSESSIONIDAASRDSRT = INDFAPMDINJLOOAHDELDNKBL;
JSESSIONID = 60302395a68e3d3681c2;
USERID = 12345
test.enunciato.org 200

如果你自己测试一下,你也会在那里看到postData.

合理?