为了账号安全,请及时绑定邮箱和手机立即绑定

为什么jessionid每次访问都不一样?

为什么jessionid每次访问都不一样?

PHP
慕田峪4524236 2022-10-27 23:19:10
我想用httpclient访问一个网站获取数据,但是我发现这个网站每次返回的jessionid和下次请求的jesseionid是不一样的,导致的结果是我用httpclient访问时候网站提示session失效,这是怎么回事呢?
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

1. 确定不是每次new了一个httpclient对象?
2. 有些网站模拟登录比较麻烦,比如他需要js生成一些cookie或隐藏域传到server端;这个要具体情况具体分析。你必须要搞清楚到底哪些个cookie, 隐藏域是关键的,甚至header信息也会有影响;并不一定是一个jessesionid就够了。

查看完整回答
反对 回复 2022-11-01
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

从例子中可以看出是用的同一个HttpClient(里面维护同一个CookieStore对象),Session所带来的Cookie就可以得以保存;
HttpClient client = new HttpClient();
在HttpClient 源码中维护着一个CookieStore的对象,用用存储Cookies;
这个是本质,当然如果有多个HttpClient时,可以共享CookieStore,这样每个HttpClient访问页面时会带上同样的cookie.

查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信