问题重现:
将 username 和 password 存入 config 以后,执行 lx login,提示出错,需要输入验证码。参考「验证码问题」以后,输入 lx login --verification-code-path=login.jpg ,然后输入验证码,出现 RuntimeError: login failed
代码如下:
Last login: Thu Sep 26 13:42:09 on ttys000
77:~ troy$ lx logout
logging out from .xunlei.lixian.cookies
77:~ troy$ lxl
Traceback (most recent call last):
File "/Users/troy/xunlei-lixian/lixian_cli.py", line 63, in
execute_command()
File "/Users/troy/xunlei-lixian/lixian_cli.py", line 60, in execute_command
commandscommand
File "/Users/troy/xunlei-lixian/lixian_cli_parser.py", line 165, in parse
return f(parser(args_list, _args, *_kwargs))
File "/Users/troy/xunlei-lixian/lixian_commands/list.py", line 38, in list_task
client = create_client(args)
File "/Users/troy/xunlei-lixian/lixian_commands/util.py", line 53, in create_client
return XunleiClient(args.username, args.password, args.cookies)
File "/Users/troy/xunlei-lixian/lixian.py", line 68, in init
self.login()
File "/Users/troy/xunlei-lixian/lixian.py", line 203, in login
raise NotImplementedError('Verification code required')
NotImplementedError: Verification code required
77:~ troy$ lx login --verification-code-path=login.jpg
Saving login session to .xunlei.lixian.cookies
Verification code picture is saved to login.jpg, please open it manually and enter what you see.
Verification code: 94da
Traceback (most recent call last):
File "/Users/troy/xunlei-lixian/lixian_cli.py", line 63, in
execute_command()
File "/Users/troy/xunlei-lixian/lixian_cli.py", line 60, in execute_command
commandscommand
File "/Users/troy/xunlei-lixian/lixian_cli_parser.py", line 165, in parse
return f(parser(args_list, _args, *_kwargs))
File "/Users/troy/xunlei-lixian/lixian_commands/login.py", line 55, in login
XunleiClient(args.username, args.password, args.cookies, login=True, verification_code_reader=args.verification_code_reader)
File "/Users/troy/xunlei-lixian/lixian.py", line 68, in init
self.login()
File "/Users/troy/xunlei-lixian/lixian.py", line 220, in login
raise RuntimeError('login failed')
RuntimeError: login failed
试了不下十次,每次输完验证码都会提示登录失败。
后来将 config 里面的 username 和 password 两项都用 --delete 删掉,执行 lx logout 和 lx login,手动键入用户名和密码以后就登录成功了。但是我知道只有 24 小时的有效期。
用lx config重配下用户名和密码,再试一试看看能不能重现?
可以,而且立刻就重现了。没有要求验证码就提示 RuntimeError: login failed
之后反复执行 lx login 5 次,第五次开始要求输入验证码,但是输入之后仍然显示 RuntimeError: login failed
感觉比较奇怪。唯一能想到的可能是你的用户名或者密码输入错了……
要不然你把~/.xunlei.lixian.cookies这个文件删掉再试试。
我确定用户名密码正确,以及删除 .xunlei.lixian.cookies 这个文件以后登录,仍然显示 RuntimeError: login failed。
可奇怪的是将 config 里面的 username 和 password 删除以后登录(就是必须手动输入用户名和密码)都没有问题,而且也不用输入验证码。难道存入 config 的登录方式和手动登录的方式有什么不一样么?
不过每天输入一遍真的很闹心啊……
lx login --verification-code-path=login.jpg works for me..
Apr 13
'14 03:04
jzk