苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 12968|回复: 9

[其他] c#登录360云盘并签到的问题,登录成功了,却无法签到

[复制链接]
发表于 2013-6-4 09:19:41 | 显示全部楼层 |阅读模式
本帖最后由 依然在飞翔 于 2013-6-4 15:42 编辑

登录步骤是看的别人写的一个python代码(python可以签到成功。。。)问题:
能登录,并获取到网盘的文件列表,无法签到,签到返回数据
{"errno":0,"errmsg":"\u64cd\u4f5c\u6210\u529f","data":{"invite_code":"kqkuqeyuun"}}
未签到的网盘,签到之后正确的返回数据应该是
{"errno":0,"errmsg":"\u64cd\u4f5c\u6210\u529f","data":{"total":15728640,"reward":15728640}}










1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-6-4 09:20:30 | 显示全部楼层
本帖最后由 依然在飞翔 于 2013-6-4 11:18 编辑

我的登录过程

1、使用用户名GET请求下面地址,从返回的json结果中获取token值
https://login.360.cn/?o=sso&m=ge ... nCallback&userName=用户名&rand=0.6720648219966509&callback=QiUserJsonP1370133472031

2、使用用户名、密码md5、上一步获取的token值,GET请求下面的地址。
从返回的cookie中获得 Q和T的值,从返回的json中获取到qid(签到用)
https://login.360.cn/?o=sso&m=lo ... nCallback&userName=用户名&pwdmethod=1&password=密码&isKeepAlive=1&token=第1步中的token&captFlag=&r=1370134210224&callback=QiUserJsonP1370133472032

3、带上第二步中获取的cookie  Q、T值,GET请求下面地址
http://yunpan.360.cn/user/login?st=539  (本次不返回cookie)
这个地址会 302跳转到(服务器id为变化的)
http://服务器id.yunpan.360.cn/user/login?st=539   (在这一次跳转中,返回一个cookie,有另一个token值)

在此之后,请求文件列表和签到地址,发送cookie使用 Q+T+跳转中获取的token 。
http://服务器ID.yunpan.360.cn/file/list  (文件列表地址)
http://服务器ID.yunpan.360.cn/user/signin/ (签到地址)

我感觉问题就出在第三步的跳转上。在跳转部分,如果我用
Allowautoredirect=true
发送cookie=发送cookie+返回cookie   这样进行跳转,会直接跳到未登录的首页去。

我的方法是不跳转,Allowautoredirect=false
http://yunpan.360.cn/user/login?st=539 header的location中获取跳转到的服务器id。
然后再拼接地址进行请求。





发表于 2013-6-4 09:56:23 | 显示全部楼层
会不会是没有设置这个的原因
ContentType = "application/x-www-form-urlencoded"
 楼主| 发表于 2013-6-4 10:07:28 | 显示全部楼层
站长苏飞 发表于 2013-6-4 09:56
会不会是没有设置这个的原因
ContentType = "application/x-www-form-urlencoded"

使用ContentType = "application/x-www-form-urlencoded" 还是一样的结果
发表于 2013-6-4 10:17:53 | 显示全部楼层
依然在飞翔 发表于 2013-6-4 10:07
使用ContentType = "application/x-www-form-urlencoded" 还是一样的结果

你发一个抓到的包看看
 楼主| 发表于 2013-6-6 15:02:26 | 显示全部楼层
解决了。
UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
这样就能成功了。郁闷
发表于 2013-6-6 15:05:34 | 显示全部楼层
依然在飞翔 发表于 2013-6-6 15:02
解决了。
UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) ...

呵呵,是不是在抓到的包里面就有这个呀,下次就直接不要忽视他了
发表于 2013-6-9 10:02:58 | 显示全部楼层
已经解决,那么我就路过了!
发表于 2013-11-1 17:26:46 | 显示全部楼层
为啥我 到楼主说的这步的时候 (我的方法是不跳转,Allowautoredirect=false
http://yunpan.360.cn/user/login?st=539 header的location中获取跳转到的服务器id。
然后再拼接地址进行请求。)我获得的location是空的呢求解?
发表于 2014-6-1 22:14:25 | 显示全部楼层
求分享代码
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-23 23:44

© 2014-2021

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