sdvcrx / pan-baidu-download

百度网盘下载脚本
MIT License
435 stars 103 forks source link

macOS中文验证码不可用 #43

Closed ttimasdf closed 6 years ago

ttimasdf commented 7 years ago

现在登录验证码是中文的,pan login已经没法用了,但不登陆,批量下载时候验证码又恶心的不要不要的。

临时解决方法:

  1. 在控制台里复制为curl
  2. https://curl.trillworks.com/ 把它转成requests格式,复制cookies
  3. 用下面一段代码写入cookies
import pickle
with open('/Users/wtf/.baidu.cookies', 'w') as f:
    pickle.dump(cookies, f)

啥时候能增加个类似的功能呐

sdvcrx commented 7 years ago

我刚试了试,验证码是中文也是可以用,系统是macOS?

ttimasdf commented 7 years ago

对,是编码问题还是?

sdvcrx commented 7 years ago

可能是,登录报错?能发发错误信息吗 @ttimasdf

sdvcrx commented 7 years ago

确保编码选择的是UTF-8 https://stackoverflow.com/questions/4606570/os-x-terminal-utf-8-issues

ttimasdf commented 7 years ago

噗。刚开了个新session试了一下。因为脚本登陆太多被验证了。验证了个密保可以正常登陆了。 验证错误的POST response。试了几回回复都差不多,特别是有一个 error=120021 。如果正确登陆的话一堆set-cookie,不同的还有error=0

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">

var url = encodeURI('http:\/\/www.baidu.com\/cache\/user\/html\/jump.html?callback=parent.bdPass.api.login._postCallback&index=0&codestring=tcG8907c162a87cc13e02b6141044.........84307d8047f54&username=........&phonenumber=&mail=&tpl=netdisk&u=https%3A%2F%2Fpassport.baidu.com%2F&needToModifyPassword=&gotourl=&auth=&error=120021');
//parent.callback(url)
window.location.replace(url);

</script>
</body>
</html>
ttimasdf commented 7 years ago

另外还发现除了第一次get主页获取BAIDUID以外,其他地方用的都是默认的user-agent,有点不清真