扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:asklxf 来源:j2me开发网 2007年11月21日
关键字:
通常服务器使用Session来跟踪会话。Session的简单实现就是利用Cookie。当客户端第一次连接服务器时,服务器检测到客户端没有相应的Cookie字段,就发送一个包含一个识别码的Set-Cookie字段。在此后的会话过程中,客户端发送的请求都包含这个Cookie,因此服务器能够识别出客户端曾经连接过服务器。
要实现与浏览器一样的
在处理每次连接的响应中,我们都
String session = null;
String cookie = hc.getHeaderField("Set-Cookie");
if(cookie!=null) {
int n = cookie.indexOf(';');
session = cookie.substring(0, n);
}
使用Sniffer
Set-Cookie: JSESSIONID=CxP4FMwOJB06XCByBWfwZBQ0IfkroKO2W7FZpkLbmWsnERuN5u2L!-1200402410; path=/
而Resin 2.1返回的Session则是:
Set-Cookie: JSESSIONID= aTMCmwe9F5j9; path=/
运行ASP.Net的IIS返回的Session:
Set-Cookie: ASPSESSIONIDQATSASQB=GNGEEJIDMDFCMOOFLEAKDGGP; path=/
我们无须关心Session ID的内容,服务器自己会识别它。我们只需在随后的请求中附加上这个Session ID即可:
if(session!=null)
hc.setRequestProperty("Cookie", session);
对于URL重写来保持Session的方法,在PC客户端可能很有用,但是,由于MIDP程序很难分析出URL中有用的Session
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者