使用HttpClient如何保持会话,在多用户间切换
使用httpclient模拟登录,然后使用ajax请求获取信息都可以。现需要多用户同时与服务器保持会话。我试了取出登录后获得的Cookies[]放入全局的Map,单点请求时判断Map中是否存在,存在则取出Cookies[]实例化HttpClient添加Cookies[]。这样做给出的信息是未登录。于是把HttpClient对象放入Map,取出后再次请求得到null。
对于HttpClient如何管理Cookies不太了解,也没有相关的中文文档,不同版本的HttpClient方法似乎都不一样。如果使用curl实现这样的逻辑有没有相应的实例。 HttpClient 模拟登录 curl --------------------编程问答-------------------- HttpClient与web服务器建立连接之后,产生一个session回话,session会话的id会保存在Cookie中,cookie保存在HttpClient的本地磁盘上,具易做图置与浏览器的设置有关。 --------------------编程问答--------------------
我将获得的Cookie[]保存起来,再登录多个用户切换时addCookie 但是没有效果。最后我决定每次请求重新登录了 --------------------编程问答-------------------- 在第一次请求时,服务器会用cookie返回一个jsessionid给客户端,以后客户端发请求时就会用cookie带上这个jsessionid,服务器就能识别这个会话了。
所以楼主只要在httpclient登录后,取得cookie里的jsessionid的值,后能的请求全在cookie里带上这个jsessionid就能保持会话了
补充:Java , Java EE