原文:https://blog.csdn.net/coder_pig/article/details/81357810

itchat的登录采取的是通过itchat.auto_login()这个函数来完成的,不带参数的话会生成一个二维码图片文件供你扫描登陆。一般的话我们的电脑都会关机,如果机器人有需要持久在线的需求,我们可以把脚本挂到服务器上,24小时跑,但是一般的云服务器是没有界面的,都是通过终端命令行进行操作,这个时候可以添加enableCmdQR=True参数,让二维码显示到命令行上,另外部分系统可能字符宽度有出入,如图19.2所示,可以通过把enableCmdQR赋值为特定的倍数进行调整。

Q: 为什么我在设定了itchat.auto_login()的enableCmdQR为True后还是没有办法在命令行显示二维码?

A: 这是由于没有安装可选的包 pillow ,可以使用右边的命令安装: pip install pillow

图19.2 命令行二维码错位

比如enableCmdQR=2后,二维码图片如图19.3所示

图19.3 调整后正常的二维码图片

扫码登录后,如果想退出程序以后还暂存登录状态,重新执行程序也不用扫码可以添加参数hotReload=True。

如果在启动时没有设置hotReload=True参数,程序退出后过一会儿就会自动掉线的了,如果想快速退出的话可以调用itchat.logout()注销登录状态。另外,有时我们可能想在登录成功或者注销登录后执行一些操作,可以添加两个调用登录时传入两个方法参数loginCallback和exitCallback,简单示例如下:

 import itchat
import time def after_login():
print("登录后调用") def after_logout():
print("退出后调用") if __name__ == '__main__':
itchat.auto_login(loginCallback=after_login, exitCallback=after_logout)
time.sleep(5)
itchat.logout()

代码执行结果如下:

Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
登录后调用
退出后调用

---------------------
参考文章 :
原文:https://blog.csdn.net/coder_pig/article/details/81357810

itchat初步解读登录(转)的更多相关文章

  1. Flask(3)- flask中的CBV、werkzeug+上下文初步解读、偏函数和线程安全

    一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV怎么实现? from flask import Flask, render_template, url_for, ...

  2. Flask中的CBV和上下文初步解读

    一 . flask中的CBV 相对于Django中的CBV,让我们来看看flask中的CBV是如何实现的 ? from flask import Flask, render_template, url ...

  3. Java线程池初步解读

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 几个月前,写了一篇<Java并发学习(一):进程和线 ...

  4. Android之QQ登录界面

    首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得 ...

  5. 微信 python 接口 -- itchat 文档

    itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...

  6. Python图形编程探索系列-07-程序登录界面设计

    设计任务 初步设计程序登录界面,详细分析设计步骤. 程序详细分析 基本框架设计 import tkinter as tk import tkinter.messagebox root = tk.Tk( ...

  7. itchat的使用

    python 微信接口 -- itchat 文档 发表于 2018-03-16 | 分类于 Python | itchat 一. 安装 $ pip install itchat 特殊的字典使用方式通过 ...

  8. Day Two(Beta)

    站立式会议 站立式会议内容总结 331 今天:指导队友学会xml布局及简单动画,解决了关于中文链接过滤器不能将iso编码改为utf8的情况(修改servletContainer默认编码) 遇到的问题: ...

  9. 服务器后端开发系列——《实战Memcached内存缓存系统》

    1.实战Memcached缓存系统(1)Memcached基础及示例程序 内容:建筑Memcached背景知识和入门示例程序. 2.实战Memcached缓存系统(2)Memcached Java A ...

随机推荐

  1. SQL Server设置启动存储过程

    --设置开关 启动程序自动运行存储过程必须启动该命令 sp_configure "show advanced options",1; go reconfigure; go --设置 ...

  2. Sublime Text2 常用快捷键总结

    Ctrl+Tab 当前窗口中的标签页切换 Ctrl+Shift+D 复制光标所在整行,插入在该行之前 Ctrl+Shift+K 删除整行 Ctrl+Shift+/ 注释已选择内容 Ctrl+Shift ...

  3. jmeter+ant 实现自动化接口测试环境配置

    前置:安装jdk 1.8以上 一.安装jemeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 1.1 解压jmeter,放在某个目录,例如D ...

  4. java课堂作业,求多参数的和

    设计思想 第一步:用户输入他想要计算的数字个数 第二步:声明字符串数组,保存用户的输入,同时每次输入后强制转换类型并求和 第三步:将声明的数组赋值给args 第四步:输出结果 程序流程图 程序源代码 ...

  5. 第二篇:请求库之requests,selenium

    requests模块 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:reques ...

  6. Python:日期表达的转换(day of year & year month day)

    我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14. 然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy( ...

  7. 【GDOI2013模拟4】贴瓷砖

    题目 A镇的主街是由N个小写字母构成,镇长准备在上面贴瓷砖,瓷砖一共有M种,第i种上面有Li个小写字母,瓷砖不能旋转也不能被分割开来,瓷砖只能贴在跟它身上的字母完全一样的地方,允许瓷砖重叠,并且同一种 ...

  8. mysql分组排序加序号

    参照https://www.cnblogs.com/CharlieLau/p/6737243.html 一.需求 新加一个Sort 字段,初始值为1,按照parentID分组添加sort值. 根据原数 ...

  9. 观察者模式------《Head First 设计模式》

    第二章---观察者模式 xzmxddx 学习方式:书籍<Head First 设计模式>,这本书通俗易懂,所有知识点全部取自本书. 面向对象设计原则 封装变化 多用组合,少用继承 针对接口 ...

  10. luogu 4366 [Code+#4]最短路 Dijkstra + 位运算 + 思维

    这个题思路十分巧妙,感觉很多题都有类似的套路. 我们发现异或操作其实就是将一个数的二进制的若干个 $0$ 变成 $1$,或者一些 $1$ 变成 $0$. 而每次按照某种顺序一位一位地异或也可以起到同时 ...