http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 11477|回复: 7

[学生提问] 关于模拟登录取得JSESSIONID的问题!

[复制链接]
发表于 2016-6-11 16:35:06 | 显示全部楼层 |阅读模式
是这样的,我写了一个程序去爬取一个jsp的后台,程序版本是.net 4.5。我用chrome浏览器的f12抓取到的JSESSIONID添加到webclient的请求header中,可以正常爬取该后台。但是我用httpwebrequest去模拟登录,得到返回的JSESSIONID,再加入到webclient或者webrequest的请求header中,就无法正确爬取了。请问是什么原因呢?


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-6-11 18:37:34 | 显示全部楼层
你对比一下获取的有什么不同,是不是自己登录的没有成功啊,或者是Cookie格式不对
 楼主| 发表于 2016-6-11 18:50:32 | 显示全部楼层
模拟登录成功了,拿到了返回的JSESSIONID,和浏览器里获取的JSESSIONID格式是一样的。代码是同一套,就是用模拟登录拿到的JSESSIONID就不能爬,用浏览器获取的JSESSIONID就能爬
发表于 2016-6-12 08:27:43 | 显示全部楼层
hiliqi 发表于 2016-6-11 18:50
模拟登录成功了,拿到了返回的JSESSIONID,和浏览器里获取的JSESSIONID格式是一样的。代码是同一套,就是用 ...

这只能证明一个问题,登录未成功,并没有真正成功,也许只是成功了一半。很多网站是在登录成功之后要跳转或者设置Cookie值的,你确实只加JSESSIONID这一个Cookie值就行了,没有其他的了?如果有也许是其他值影响的
 楼主| 发表于 2016-6-12 14:41:01 | 显示全部楼层
我用浏览器获取的JSESSIONID,只需要加入这个cookie就能正常抓取数据。要么就是用webrequest请求得到的JSESSIONID是不对的,但是我不知道为什么不对。。
发表于 2016-6-12 14:58:21 | 显示全部楼层
hiliqi 发表于 2016-6-12 14:41
我用浏览器获取的JSESSIONID,只需要加入这个cookie就能正常抓取数据。要么就是用webrequest请求得到的JSES ...

你打出来对比一下,看看不是多什么参数了,比如Path=/之后的过滤一下
 楼主| 发表于 2016-6-15 11:59:36 | 显示全部楼层
是多了Path=/,不过我用正则提取了JSESSIONID=这一部分,然后放到了header中
发表于 2016-6-24 10:19:51 | 显示全部楼层
我也是遇到了这个问题,例如YY.COM,有验证码的账号登陆时的包就包含一个JSESSIONID,火狐浏览器可以重发包,在哪上面把截取的包重新发一遍是可以返回内容的,但是我把那些内容用HttpHelper发送就不可以
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-8 02:11

© 2014-2021

快速回复 返回顶部 返回列表