【解决】err_no=100023

之前遇到一个问题,token读取不到,读到的是“the fisrt two args should be string type 0,1”,后来发现是没有携带BAIDUID的cookies去访问http://passport.baidu.com/v2/api/,故得不到token的值。

然后用python自带的urllib2和cookiesJar尝试登录百度,明明设置了Connection为Keep-Alive,抓包的时候还是发现Connection为close。

查了一下,有的网友说urllib2不支持长连接,推荐requests库。而且response body还是“err_no=100023”,我输出密码抓了一次包,发现err_no=4,看来不是密码的问题。头疼!

通过访问“www.baidu.com”获取到BAIDUID的cookies,

之后通过携带BAIDUID访问http://passport.baidu.com/v2/api/又获取到token,

最后通过携带token访问http://passport.baidu.com/v2/api/?login又获取到rsakey,

按理说都齐活了,为什么会出现err_no=100023的问题?

换成requests后,问题依旧,只不过connection不是close了。

===============更新与2014.04.27===========

送走老弟终于有时间捣鼓这个err了。

通过用httpdebugger调试工具对比过后,原来是我在login——也就是最后一步登录的时候没有携带cookie,五个cookie:BAIDUID、BIDUPSID、H_PS_PSSID、HOSUPORT和UBI。如果你登录遇到不是err_no=4的错误的话,那说明肯定是你的cookie有问题,要么就是没有开启cookies所以不能登录。静下心来仔细检查一下,肯定会发现的。

不过新问题也出现了,那就是err_no=4的问题,这是密码和用户名不匹配的问题。我是传递的明码,所以会出现err_no=4也在意料之中,下一步就想象怎么解决获取加密密码的问题。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值