读书人

*Http Post登陆后怎么保持会话?

发布时间: 2012-03-21 13:33:14 作者: rapoo

*********Http Post登陆后如何保持会话?*********

关于Http请求有问题请教一下,我想实现Post登陆(用自己的站做的测试).但不会处理Cookie来达到会话持久的目的

Web服务器端:

Java code
网站登陆成功后,设置session代码如下:session.setAttribute("uid",uid);然后重定向到登陆成功的页面:response.sendRedirect(....);


下面是自己写的程序过程:
发送登陆数据包:
Java code
POST /_login.jsp HTTP/1.1Host: 192.168.1.2Accept-Language: zh-cnConnection: keep-aliveusername=admin&userpwd=admin


接收到的包:
Java code
HTTP/1.1 302 Moved TemporarilyServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=129FDBC989E0942F3EB64C818554AB94; Path=/glxtLocation: http://192.168.1.2/glxt/index.jsp?fid=40&tid=3Content-Type: text/html;charset=UTF-8Content-Length: 0Date: Sat, 18 Feb 2012 05:55:49 GMT


此时登陆成功,并重定向了,然后我加Cookie发送,取网站数据:
Java code
GET /glxt/index.jsp?fid=40&tid=4 HTTP/1.1Host: 192.168.1.2:8080Cookie: JSESSIONID=129FDBC989E0942F3EB64C818554AB94


但返回的数据包如下:
Java code
HTTP/1.1 302 Moved TemporarilyServer: Apache-Coyote/1.1Location: http://192.168.1.2:8080/glxt/index.jsp?fid=1&tid=3Content-Type: text/html;charset=UTF-8Content-Length: 0Date: Sat, 18 Feb 2012 05:55:49 GMT


又重定向了,说明无权限取该数据.
请问这是为什么呢?  Cookie该怎么设置才能保持会话呢?
谢谢, 请帮帮我~~~ 再次谢谢


[解决办法]
你的帖子犯错了位置吧????
放到java区去啊
[解决办法]
http://192.168.1.2/glxt/index.jsp?fid=40&tid=3

登录成功要跳转到这个页面,你没跳转,服务器不认,让你再跳转一次

你就从了呗
[解决办法]
用抓包程序,完整地走一遍登入流程
然后,研究其过程,跳转可能不只一次

至于Cookie,保存起来(注意域的变化以及Cookie值的修改,Cookie是累加的),每次请求都发出去就可以了
[解决办法]
http://192.168.1.2/glxt/index.jsp?fid=40&tid=3
可能会生成其他的Cookie,你没有这些Cookie,服务器认为你登录尚未完成。

读书人网 >VC/MFC

热点推荐