解决在移动端使用itchat登陆不能显示二维码的问题

时间:2024-03-25 20:00:00

 

项目简介

     文章继承于《Nexus9安装Nethunter 》,其他安装了Chroot具有Linux的设备,以及Linux系统的用户均可参考。过年了,只怪自己手速太慢,看着群里乱飞的红包多少会有些眼红。也是开始想办法折腾用方便的移动设备登陆社交软件实现这个功能。想写一系列关于社交软件程序开发的笔记。本篇是这一系列的开端,这里记录这个项目刚开始遇到的的一些问题。

 

 

ithcat简介

       itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。

使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。

当然,该api的使用远不止一个机器人,更多的功能等着你来发现,比如这些

该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具。

如今微信已经成为了个人社交的很大一部分,希望这个项目能够帮助你扩展你的个人的微信号、方便自己的生活。

 

问题描述

问题是这样的,在调用itchat模块以后需要登陆,登陆的方式是采用二维码。但是安卓端的终端模拟器不能够直接显示图片的,也没有够直接使用默认程序打开图片的这样一个操作。

 

import ithcat
itchat.login()

 

这个问题和在《移动端机器学习环境部署》中调用matpoltlib发生的问题十分类似,解决办法有两个,请看下文:

 

问题解决

方法一:

       在调用itchat.login()函数的时候,指定参数

enableCmdQR = True

       完整的调用方法如下:

itchat.login(enableCmdQR = True)

这样就会在终端上面以文本的方式显示二维码。

解决在移动端使用itchat登陆不能显示二维码的问题

 

 

方法二:

进入 /usr/local/lib/python3.5/dist-packages/itchat/utils.py 找到utils.py 使用编辑器打开。

 

 

将其中83行注释掉 ,加入

shutil.copy(os.getcwd()+'/'+'QR.png','/你的储存地址/QR.png')

使用这种方法有利有弊,缺点是占用空间、会产生大量的缓存文件,还有就是使用起来稍微麻烦一点。优点也相对的是能够储存登陆时使用的二维码。自己看情况取舍。以下是我做的一些修改,蓝色一行是被注释掉的代码,,仅供参考:

解决在移动端使用itchat登陆不能显示二维码的问题

 

详解:

        shutil.copy 拷贝文件,需要import shutil模块

解决在移动端使用itchat登陆不能显示二维码的问题

        shutil.copy是一个拷贝函数,当调用login函数的时候会在当前目录自动生成一个QR.png。我们需要做的就是将其复制到图           片浏览器可以检测得到的路径下,用图片浏览器打开查看。

        os.getcwd()获取当前文件路径 

        QR.png是微信二维码

 

问题解决的验证

扫描二维码后手机会有连接提示,同意后就会显示登陆成功。如果在手机端关闭登陆,也会有相应的提示

解决在移动端使用itchat登陆不能显示二维码的问题