ly0 / baidupcsapi

百度网盘api
MIT License
1.21k stars 234 forks source link

能否帮定位下同样是python的baiduyun插件-6的问题 #35

Open sentball opened 8 years ago

sentball commented 8 years ago

如题,这其实是个播放百度云视频的插件,最近一直是-6的问题

github地址:https://github.com/caasiu/plugin.video.bdyun

ly0 commented 8 years ago

https://github.com/ly0/baidupcsapi/issues/34

sentball commented 8 years ago

我看下,是只要cookie里有 #34 里提到的字段就正常是吧?

ly0 commented 8 years ago

是的

sentball commented 8 years ago

@ly0 好的,我试下,另请问你了解sapi访问么,出现一个错误

ClientApiError: API Error -4: tpl not allow extranet {u'logid': 2354853432L, u'needvcode': 0, u'vcodestr': None, u'errMsg': u'tpl not allow extranet', u'errno': -4}

具体代码如下: def login(self, username, password, verifycode=None, vcodestr=None): params = { 'login_type': '3', 'isphone': '0', 'username': username, 'cert_id': '1', 'appid': '1', 'crypttype': '3', 'tpl': 'esfb' } if verifycode and vcodestr: params['verifycode'] = verifycode params['vcodestr'] = vcodestr params['password'] = self._encrypt_password(password) params['sig'] = self._create_sig(params, '3e504de3df373ce5e1080f3b9c33afba') r = self._fetch_clientapi( 'http://passport.baidu.com/v2/sapi/login', params) self.set_login_info(map(r.getitem, [ 'bduss', 'uid', 'ptoken', 'stoken'])) return r

ly0 commented 8 years ago

没用过 不了解

zhuchenwang commented 8 years ago

我也是用这个插件,一样的问题。在list_dir的时候出错了,errno -6。我拿list _dir的url在浏览器里面试就是work的,因为我浏览器已经登录过了,所以有cookie。然后我试着用我浏览器里的cookie value去替换,Python code里面的,发现BDUSS和STOKEN如果用的是浏览器里的那就能work

sentball commented 8 years ago

试过按 @ly0 说的请求新的cookie字段后可以登陆访问目录播放,win上部分无法播放,插件运行于iOS设备上会有错误,也是伤神 作者已在更新,看能不能解决发现的问题

zhuchenwang commented 8 years ago

我用的是raspberry pi,我也在看code,只是不太熟python。

heipacker commented 8 years ago

这个问题有其他方法吗, 我是了在去请求一次不行...

heipacker commented 8 years ago

我是用java实现的一个版本, 这里在delete之前请求一次ps://pan.baidu.com/rest/2.0/membership/user, 无法获取到cookies

ly0 commented 8 years ago

不是有fix么?

caasiu commented 8 years ago

plugin.video.bdyun v0.1.1已经修复了这个错误。

原因是请求的时候cookie多了'SCRC', 'STOKEN'这两个值 具体可以参考 bcloud 248 error