在我的Flex应用程序中,我需要对j_security_check表单进行身份验证(这看起来像一种流行的身份验证方式),在HTTP POST中提供j_username
和j_password
字段作为参数请求。我打算用一个简单的HTTPService(我知道的其他选项是URLLoader,但它提供了相同的结果)这样做。发送POST请求后,我等待jsessionid
作为SetCookie
的响应。但是,我收到一个html页面,该页面应该在我收到jsessionid
后才会显示。如何从使用Flex的302 HTTP状态响应获取cookie HTTPService
这里是什么,实际上是在HTTP数据包而言是这样的:
- 我POST请求
[baseurl]/j_security_check
含j_username
和j_password
- HTTP状态含有
jsessionid
为SetCookie
- 302响应GET请求(我没有发送它!)从我的申请到
[baseurl]/login.jsp
只包含jsessionid
与前一个数据包一起收到。 - 一个HTTP状态200响应,包含一个html页面,应该在成功登录后在Web浏览器中查看该页面。
我需要jsessionid
的值与另一个基于SOAP的Web服务一起用作身份验证方法。但我似乎无法获得它 - Flex HTTPService默默捕获302响应并发送下一个GET;之后,曲奇无处可寻。
..但是,cookie肯定被缓存在Flex的某处,因为它被提供给来自任何HTTPService实例的对该服务器的所有进一步请求!
我不知道它是否会使用web服务。因此我的问题是:如何在Flex中获得这个cookie的价值?