本系列会讲述微信机器人技术的实现,第一讲主要了解微信网页版给我们提供的http接口,这一步是做一个基于微信网页版机器人的基础和难点。
本讲将微信网页版的主要接口罗列出,并给出了入参和返回值的含义和用法。一些不常用的接口后续会逐渐补充,也欢迎大家与我交流。
一、网页版微信提供的HTTP接口
1、获取uuid
说明:用于获取显示二维码以及登录所需的uuid,标识获取二维码和扫码的为同一个用户请求方式:GET地址:https://login.wx.qq.com/jsloginget参数:参数示例值说明appid wx782c26e4c19acffb 固定值fun new 固定值lang zh_CN 表示中文字符集返回 :window.QRLogin.code =200;window.QRLogin.uuid ="wb7R2kx9dA==";
2、显示****二维码
说明:展示一张用于登陆的二维码图片,地址里的**{uuid}传第一步所获取的uuid**请求方式:GET地址:https://login.wx.qq.com/qrcode/{uuid}get参数:参数示例值说明t webwx 固定值返回:二维码的二进制流,浏览器打开会直接显示一张二维码图片
3、轮询登录
说明:尝试登录。若此时用户手机已完成扫码并点击登录,则返回一个真正用于登录的url地址。否则接口大概10s后返回未扫码或未登录的状态码请求方式:GET地址:https://login.wx.qq.com/cgi-bin/mmwebwx-bin/loginget参数:参数示例值说明tip 1 1:未扫描 0:一扫描uuid wb7R2kx9dA== 第一步所获取的uuid返回
:redirect_uri的值可以直接用于下一步的登录并获取公参请求
window.code=200(408为未扫码,201为已扫码但未点击登录,200为成功登录);window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=AfrMMbhsnElmA7xc1R9CWUq-@qrticket_0&uuid=4ZnG7WZ0Cg==&lang=zh_CN&scan=1520738372";
4、登录并获取公参
说明:访问后可获取一组公参,用于之后访问所有的接口。这也意味着如果这部分数据泄露,代表其他人可以在这段时间内随意操作你的微信(仅限于网页版支持的操作)请求方式:GET地址:https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpageget参数:直接用上一步返回的redirect_uri中的所有参数即可返回
:获取并存储该返回值中的四个参数
skey 、 wxsid 、 wxuin 、 pass_ticket
,以及所返回Cookie中的
webwx_data_ticket , webwx_auth_ticket