使用wxpy开发微信聊天机器人,结果扫码登录后,提示:
Loading the contact, this may take a little while.
Traceback (most recent call last):
File "/Users/zhengk/PycharmProjects/Mine/venv/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3291, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-ba7301e4edc6>", line 1, in <module>
bot = Bot(console_qr=True)
File "/Users/zhengk/PycharmProjects/Mine/venv/lib/python3.7/site-packages/wxpy/api/bot.py", line 86, in __init__
loginCallback=login_callback, exitCallback=logout_callback
File "/Users/zhengk/PycharmProjects/Mine/venv/lib/python3.7/site-packages/itchat/components/register.py", line 35, in auto_login
loginCallback=loginCallback, exitCallback=exitCallback)
File "/Users/zhengk/PycharmProjects/Mine/venv/lib/python3.7/site-packages/itchat/components/login.py", line 66, in login
self.show_mobile_login()
File "/Users/zhengk/PycharmProjects/Mine/venv/lib/python3.7/site-packages/itchat/components/login.py", line 212, in show_mobile_login
self.loginInfo['url'], self.loginInfo['pass_ticket'])
KeyError: 'pass_ticket'
在官网git的issue里搜索了一下,果然有提这个issue
大意就是说微信现在把一些新账号做了限制网页登陆处理,从而导致出现上述的报错,用老的微信账号就不会有问题。
https://github.com/youfou/wxpy/issues/128
自己直接用网页版微信登陆测试:
访问:https://wx.qq.com
扫码登陆,果然是报错的
<error><ret>1203</ret><message>为了你的帐号安全,此微信号已不允许登录网页微信。
你可以使用Windows微信或Mac微信在电脑端登录。
Windows微信下载地址:https://pc.weixin.qq.com
Mac微信下载地址:https://mac.weixin.qq.com</message></error>
这就是为什么该微信号不能使用wxpy登录的原因了!
itchat:https://itchat.readthedocs.io/zh/latest/
itchatmp:https://itchatmp.readthedocs.io/zh_CN/latest/
wxpy:https://wxpy.readthedocs.io/zh/latest/
参考:https://blog.csdn.net/hellokandy/article/details/90713183
http://keejo.coding.me/python%E4%B9%8B%E5%BE%AE%E4%BF%A1%E7%99%BB%E9%99%86KeyError-pass-ticket%E9%97%AE%E9%A2%98.html