网页版微信 API ,微信机器人。这篇文章是转的,吼吼吼,好东西就要大家一起看喽。
文章来源 github 感谢原作者 Urinx 无私分享
示例:
为了运行 weixin.py 示例脚本,你需要有安装 qrcode 包,你可以通过 pip install qrcode 来安装。
按照操作指示在手机微信上扫描二维码然后登录,你可以选择是否开启自动回复模式。
开启自动回复模式后,如果接收到的是文字消息就会自动回复,包括群消息。
现在,名片,链接,动画表情和地址位置消息都可以正常接收。
目前支持的命令:
->[昵称或ID]:[内容] 给好友发送消息
m->[昵称或ID]:[文件路径] 给好友发送文件中的内容
f->[昵称或ID]:[文件路径] 给好友发送文件
i->[昵称或ID]:[图片路径] 给好友发送图片
quit 退出程序
注意,以上命令均不包含方括号。
Web Weixin Pipeline
Web Weixin API
登录
API: 获取UUID
Url: https://login.weixin.qq.com/jslogin
Method: POST
Data: URL Encode
Params:
appid: 应用ID
fun: new 应用类型
lang: zh_CN 语言
_: 时间戳
返回数据(String):
window.QRLogin.code = 200; window.QRLogin.uuid = "xxx"
API: 生成二维码
Url : https://login.weixin.qq.com/l/ uuid
API: 二维码扫描登录
Url: https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login
Method: GET
Params:
tip: 0 已扫描 1 未扫描
uuid: xxx
_: 时间戳
返回数据(String):
window.code=xxx;
xxx:
408 登陆超时
201 扫描成功
200 确认登录
当返回200时,还会有
window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=xxx&uuid=xxx&lang=xxx&scan=xxx";
API: webwxnewloginpage
Url: https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage
Method: GET
Params:
ticket: xxx
uuid: xxx
lang: zh_CN 语言
scan: xxx
fun: new
返回数据(String):
<error>
<ret>0</ret>
<message>OK</message>
<skey>xxx</skey>
<wxsid>xxx</wxsid>
<wxuin>xxx</wxuin>
<pass_ticket>xxx</pass_ticket>
<isgrayscale>1</isgrayscale>
</error>
消息接口
API: webwxsendmsg
Url: https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?pass_ticket=xxx
Method: POST
Data: JSON
Header: ContentType: application/json; charset=UTF-8
Params:
{
BaseRequest: { Uin: xxx, Sid: xxx, Skey: xxx, DeviceID: xxx },
Msg: {
Type: 1 文字消息,
Content: 要发送的消息,
FromUserName: 自己ID,
ToUserName: 好友ID,
LocalID: 与clientMsgId相同,
ClientMsgId: 时间戳左移4位随后补上4位随机数
}
}
返回数据(JSON):
{
"BaseResponse": {
"Ret": 0,
"ErrMsg": ""
},
...
}
篇幅太长了,点阅读原文查看吧,如果觉得本文有用记得转发分享哟。
本君网太渣用不起作者的 doubibot ,于是自己就加了一个图灵机器人的 API 进去了。
在 WebWeixin 类中添加一个方法:
def _tulingbot(word):
reply = u"让我一个人静静 T_T..."
url = 'http://www.tuling123.com/web/product_exp_new!result.action'
try:
r = requests.post(url, data={'info': word, 'monitor': 'monitor'})
data = r.content
doc = xml.dom.minidom.parseString(data)
root = doc.documentElement
for node in root.childNodes:
if node.nodeName == 'Content':
reply = node.childNodes[0].data
break
except:
pass
return reply.encode('utf-8')
然后把 _xiaodoubi 调用的地方改成 _tulingbot 就 OK 啦。
长按便可关注我们
本文始发于微信公众号(inn0team):网页版微信 API
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论