适用于微信(WeChat 3.9.8.25 | 3.9.8.15 | 3.9.7.29) 可在Windows PC微信 设置 - 关于微信 - 版本信息 中获取您当前的微信版本,如果您当前的微信版本不在上述可用的版本列表中,请至下方 3、可用版本微信安装包获取 选择最新版微信重新安装使用
未经过大量测试,存在封号风险!
本仓库发布的内容,仅用于学习研究,请勿用于非法用途和商业用途!如因此产生任何法律纠纷,均与作者无关! 无任何后门、木马,也不获取、存储任何信息,请大家在国家法律、法规和腾讯相关原则下学习研究! 不对任何下载和使用者的任何行为负责,请于下载后24小时内删除!
因注入版本(注入DLL,功能多点)被举报了后续不再更新了,和使用方式(
READNE.md
)一起放在wxbot-injector
目录下了 现在只更新免注版本了 (免注只是不注入DLL了,并不是真的不需要注入!)
bin目录下wxbot-sidecar.exe
,直接运行即可
- wxbot-sidecar.exe (bin/wxbot-sidecar.exe)
多种情况说明:
- 当无微信进程在运行时会主动拉起微信(会从注册表找微信安装目录,如果是非Setup方式安装的可能拉不起来,那么请手动启动微信并使用
-p
参数指定pid
) - 如微信已运行(非多开模式下)会获取当前运行中的微信进程号
- 您也可以使用
-p
参数手动指定微信进程号
> .\wxbot-sidecar.exe -p 30568
> .\wxbot-sidecar.exe --help
Usage: wxbot-sidecar.exe -p [pid] [ OPTIONS ] [ VALUE ]
Options:
-p, --pid [ pid ] Specify the process number for injection
-c, --config [ path ] Specify the configuration file path
-a, --address Specify listening address (e.g. 0.0.0.0:8080)
-b, --auto-click-login Automatically click login when there is a login button
-q, --qrcode-callback If there is a QR code when WeChat is not logged in, specify the callback address for the QR code URL, using English commas as as separators (e.g. http://127.0.0.1:8081/callback,http://127.0.0.1:8082/callback)
-w, --wechat Ignoring the -p parameter will pull up a WeChat instance. Please use this -w parameter after lifting the multi opening restriction!
-s, --silence Enable silent mode(without popping up the console)
-m, --multi Remove WeChat multi instance restrictions (allowing multiple instances)
-h, --help Output Help Information
目前免注入版本仅支持 3.9.8.25,请务必确认版本号正确
在
Linux
下使用Docker
部署wxbot
全部流程已经跑通了,后面我会构建成一个公共镜像供大家使用(但使用wine
运行
如果您在使用时遇到了缺少运行库的报错 如:由于找不到
MSVCP140.dll
,无法继续执行代码。重新安装程序可能会解决此问题 如果您遇到了此类问题可通过文档最下方的网盘链接中下载 微软常用运行库.exe 进行安装 或通过此链接下载最新微软常用运行库合集解决
目前已支持自动登陆,这里有两种情况:
- 之前微信已登陆过,再次启动时出现登陆按钮,如果您启动
wxbot-sidecar
时指定了-b
参数,则会自动触发登陆,您只需在手机端确认登陆即可 - 之前微信未登陆过或被取消登陆,此时会渲染出二维码图片,您可以在命令行参数中指定
-q
参数,例如:-q http://127.0.0.1:8081/qrcode-callback
来指定一个二维码图像的回调地址,或者您也可以在配置文件中指定(参考下方的配置文件示例
),当然如果您就在屏幕前,您可以直接扫码登陆
配置二维码图片回调时,命令行参数中指定的回调地址优先级要高于配置文件
- 如果您只有一个微信实例在运行并需要注入或快速上手,那么您无需关心其它参数,直接双击运行即可
- 如果您需要多开微信,那么请先使用
wxbot-sidecar.exe -m
解除微信多开限制(执行时机并不重要,您可以在任何情况下去解除多开限制) - 如果您已经解除了多开限制,并希望对运行中的多个微信实例进行注入:
- (可选)使用
-a
参数指定每个实例监听的地址(格式为:ip:port
),如果您的配置文件中未指定addr
或地址冲突,那么此-a
参数是必选项,否则会导致端口冲突 - (可选)使用
-c
参数指定第二个配置文件地址,如果您不指定一个新的配置文件地址,那么可能会导致您多个wxbot-sidecar
实例共用一份配置文件(包括但不限于回调地址操作会同时影响该配置文件),推荐用法是对于多开实例每份实例使用-c
参数去指定不同的配置文件运行
- (可选)使用
- 请注意!如果您在多开模式下希望使用
wxbot-sidecar.exe
拉起新的微信实例,那么您需要为每个微信新实例加上-w
参数,例如:wxbot-sidecar.exe -w
或是wxbot-sidecar.exe -w -a 0.0.0.0:8081
配置文件支持两种方式分别是:
- wxbot.json: 这是默认的配置文件(如果有的话)
Tips: 配置文件路径为
wxbot-sidecar.exe
所在的同级目录,或使用-c
参数指定配置文件路径 配置文件为json格式,默认不自动创建! 配置文件优先级:-c
参数指定的配置文件 > wxbot.json > 无配置文件时的默认值
{
"addr": "0.0.0.0:8080",
"sync-url": {
"qrcode": [
{
"timeout": 3000,
"url": "http://localhost:8081/qrlogin-callback"
}
],
"public-msg": [
{
"timeout": 3000,
"url": "http://localhost:8082/callback"
}
],
"general-msg": [
{
"timeout": 3000,
"url": "http://localhost:8081/callback"
}
]
},
"authorization": {
"enable": false,
"users": [
{
"user": "admin",
"password": "123",
"token": "token123"
},
{
"user": "user",
"password": "321",
"token": "token321"
}
]
},
"root-dir": "D:\\WeChat",
"log": {
"level": "info"
}
}
- addr: wxbot服务监听地址(固定为ip:port形式)
- sync-url: http回调地址列表(建议通过下面的/sync-url接口修改,不要手动修改)
- qrcode: 登陆界面出二维码图像时,二维码URL的回调地址
- url: 回调url
- timeout: 回调超时时间
- general-msg: 普通类型消息回调地址
- url: 回调url
- timeout: 回调超时时间
- qrcode: 登陆界面出二维码图像时,二维码URL的回调地址
Tips:这里的http://localhost:8081/callback
只是一个例子,而并非必须的,如果您未启动此回调地址,那么请删除它,否则一个不可达地址将会影响后续每个回调的到达时间!
- authorization: 鉴权 鉴权使用方法请您至下方
5、鉴权
了解更多- enable: 是否开启鉴权
- users: 用户列表(这是一个对象数组)
- user: 用户名
- password: 密码
- token: 登陆后的token
- root-dir: 发送和获取的泛文件(图片、语音、视频、文件)存放路径,同时也会启动一个文件服务端,默认值是微信安装目录下
- log
- level: 日志级别:分为 trace、debug、info、warn,如果您在使用中遇到了闪退、崩溃等问题,那么请将此
log.level
指定为trace
后收集日志反馈
- level: 日志级别:分为 trace、debug、info、warn,如果您在使用中遇到了闪退、崩溃等问题,那么请将此
实际上配置文件中的所有字段都是非必填项,它们都可以独立存在,如果您不需要配置任何项,那么请不要创建它!
响应信息 固定为JSON格式响应: {"code": 200, data: xxxx, "message": "xxx"}
- code: 固定200
- message: 成功为success,失败为faild,或是其它错误提示信息
- data: 根据请求接口不同数据不同,无特别描述时下面的请求接口返回字段全部为该data字段的子字段
路由列表概览:
-
功能类
- /api/userinfo - 获取登陆用户信息
- /api/contacts - 获取通讯录信息(wxid从这个接口获取),不建议使用,请使用下面的
/api/dbcontacts
- /api/dbcontacts - 从数据库中获取通讯录信息(wxid从这个接口获取)
- /api/sendtxtmsg - 发送文本消息(好友和群聊组都可通过此接口发送,群聊组消息支持艾特)
- /api/sendimgmsg - 发送图片消息(支持json和form-data表单上传两种方式,json方式请将二进制数据使用base64编码后发送)
- /api/sendfilemsg - 发送文件消息(支持json和form-data表单上传两种方式,json方式请将二进制数据使用base64编码后发送)
- /api/chatroom - 获取群聊组成员列表,不建议使用,请使用下面的
/api/dbchatroom
- /api/dbchatroom - 从数据库中获取群聊组信息和成员列表
- /api/accountbywxid - WXID反查微信昵称(支持好友、群聊组和群聊组内成员等),不建议使用,请使用下面的
/api/dbaccountbywxid
- /api/dbaccountbywxid - 从数据库中通过WXID反查微信昵称(支持好友、群聊组和群聊组内成员等)
- /api/forwardmsg - 消息转发
- /api/dbs - 获取支持查询的数据库句柄
- /api/execsql - 通过数据库句柄执行
SQL
语句
-
回调注册类(目前仅用来获取微信实时消息 - 同步消息接口,同时支持WebSocket和http两种方式!)
- /ws/generalMsg - 注册websocket回调(支持注册多个ws通道):通用消息回调
- /ws/publicMsg - 注册websocket回调(支持注册多个ws通道):订阅号(公众号)消息回调
- /api/syncurl - http回调相关(支持注册多个http接口,注册请带上协议头:http/https,注册成功会持久化到配置文件中)
以
[]
中括号括起来的字段为可选字段 目前所有请求和响应字段均按大驼峰命名法规范
协议信息
GET /api/userinfo
别名
/api/userInfo
/api/user-info
/api/user_info
响应字段
- customAccount string: 微信号
- city string: 城市
- country string:国家
- dbKey string:数据库加密key,可解密读取数据库
- nickname string: 微信昵称
- phone string: 手机号
- phoneSystem string: 手机系统
- privateKey string:私钥
- profilePicture string: 头像
- province string:省
- publicKey string:公钥
- signature string:个性签名
- wxid string
不建议使用,请使用下面的从数据库中获取通讯录接口
协议信息
GET /api/contacts
响应字段
- contacts array
- customAccount string: 微信号
- nickname string: 昵称
- v3 string
- note string: 备注
- notePinyin string: 备注拼音首字母大写
- notePinyinAll string: 备注拼音全
- pinyin string: 昵称拼音首字母大写
- pinyinAll string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- reserved1 string
- reserved1 string
- type string
- verifyFlag string
- wxid string
- total uint64: 通讯录成员总数
协议信息
GET /api/dbcontacts
别名
/api/dbContacts
/api/db-contacts
/api/db_contacts
响应字段
- contacts array
- Alias string: 微信号
- NickName string: 昵称
- EncryptUserName string:v3
- Remark string: 备注
- RemarkPYInitial string: 备注拼音首字母大写
- RemarkQuanPin string: 备注拼音全
- PYInitial string: 昵称拼音首字母大写
- QuanPin string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- type string
- UserName string:wxid
- 其余字段请自测
- total uint64: 通讯录成员总数
对于群聊组消息发送支持艾特
协议信息
POST /api/sendtxtmsg
别名
/api/sendTxtMsg
/api/send-txt-msg
/api/send_txt_msg
请求字段
- wxid string
- content string:发送消息内容(如果是群聊组消息并需要发送艾特时,此content字段中需要有对应数量的
@[自定义被艾特人的昵称,不得少于2个字符] [每个艾特后都需要一个空格以进行分隔(包括最后一个艾特!)]
,这一点很重要! 如果您不理解,请继续看下面的Tips!) - [atlist] array<string>:如果是群聊组消息并需要发送艾特时,此字段是一个被艾特人的数组
Tips:如果是群聊艾特消息,那么content
字段中的@
艾特符号数量需要和atlist
中的被艾特人数组长度一致,简单来说,就是atlist
中有多少个被艾特人的wxid
,那么content
字段中就需要有多少个艾特组合,位置随意,例如:
{"wxid": "xx@chatroom", "content": "这里@11 只是@22 想告诉你@33 每个被艾特人的位置并不重要", "atlist": ["wxid_a", "wxid_b", "wxid_c"]}
每个被艾特人在content
中 固定为@[至少两个字符的被艾特人名] + 一个空格
!
如果是发送@所有人
消息,那么请在atlist
字段中仅传入一个notify@all
字符串,content
字段中仅包含一个@符号规范(最少两字符+一个空格)
, 一般建议是@所有人
见名知意
响应示例
{"code":200,"msg":"success"}
如果您发送图片失败,那么可能是权限问题,如果您的程序工作目录(
wxbot-sidecar
所在的目录)是在C盘,那么请尝试移动到其他分区中,例如D盘,如果还未解决,请您在github上提issue或加交流群反馈
协议信息
POST /api/sendimgmsg
别名
/api/sendImgMsg
/api/send-img-msg
/api/send_img_msg
/api/sendimagemsg
/api/sendImageMsg
/api/send-image-msg
/api/send_image_msg
支持JSON和form-data表单两种方式提交
请求头
- JSON:
Content-Type: application/json
- form-data表单:
Content-Type: multipart/form-data
请求字段
-
JSON:
- wxid string
- path string:图片路径(注意,这里的图片路径是bot登陆系统的路径!)
- image string: 图片二进制数据base64编码后字符串 (不需要加
data:image/jpeg;base64,
前缀) - clear bool: 指定图片发送后是否需要删除,默认删除 (需要注意的是,图片文件保存后并没有后缀,这意味着如果您需要查看历史发送图片,那么您需要至
[微信根目录]/temp
自行查看判断图片格式并添加后缀)
-
form-data表单 符合标准
form-data
数据格式,需要参数分别是wxid
、path
和image
path
和image
二选一即可,当path
和image
同时存在时,path
优先
如果您发送文件失败,那么可能是权限问题,如果您的程序工作目录(
wxbot-sidecar
所在的目录)是在C盘,那么请尝试移动到其他分区中,例如D盘,如果还未解决,请您在github上提issue或加交流群反馈
协议信息
POST /api/sendfilemsg
别名
/api/sendFileMsg
/api/send-file-msg
/api/send_file_msg
支持JSON和form-data表单两种方式提交
请求头
- JSON:
Content-Type: application/json
- form-data表单:
Content-Type: multipart/form-data
请求字段
- JSON:
- wxid string
- path string:文件路径(注意,这里的文件路径是bot登陆系统的路径!)
- file string: 文件二进制数据base64编码后字符串
- filename string: 文件名(使用
file
字段时,此字段必填)
- form-data表单
符合标准
form-data
数据格式,需要参数分别是wxid
、path
和image
Tips: 当文件大小大于5M
时则建议使用path
文件路径的方式传参,但这并不意味着file
不支持大文件发送,只是它需要更久的调用时间,可能是分钟级!path
和file
二选一即可,当path
和file
同时存在时,path
优先,当使用JSON
格式和file
参数直接传递文件数据时filename
是必填项!
path
和file
二选一即可,当path
和file
同时存在时,path
优先
不建议使用,请使用下面的从数据库中获取群聊组信息
协议信息
同时支持GET和POST
GET /api/chatroom?wxid=xxxx POST /api/chatroom
别名
/api/chatRoom
/api/chat-room
/api/chat_room
请求字段
- JSON:
- wxid string
响应字段
- data map
- wxid string:
- customAccount string:微信号
- nickname string:昵称
- note string:备注
- pinyin string: 昵称拼音首字母大写
- pinyinAll string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- v3 string
- wxid string:
协议信息
同时支持GET和POST
GET /api/dbchatroom?wxid=xxxx POST /api/dbchatroom
别名
/api/dbChatRoom
/api/db-chat-room
/api/db_chat_room
请求字段
- JSON:
- wxid string
响应字段
- data map
- Announcement string:群公告
- AnnouncementEditor string:群公告编辑人
- AnnouncementPublishTime string:群公告编辑秒级时间戳
- wxid string:
- Alias string: 微信号
- NickName string: 昵称
- EncryptUserName string:v3
- Remark string: 备注
- RemarkPYInitial string: 备注拼音首字母大写
- RemarkQuanPin string: 备注拼音全
- PYInitial string: 昵称拼音首字母大写
- QuanPin string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- type string
- UserName string:wxid
- 其余字段请自测
不建议使用,请使用下面的从数据库中通过WXID反查信息 协议信息
同时支持GET和POST
GET /api/accountbywxid?wxid=xxxx POST /api/accountbywxid
别名
/api/accountByWxid
/api/account-by-wxid
/api/account_by_wxid
请求字段
- JSON:
- wxid string
响应字段
- customAccount string:微信号
- nickname string:昵称
- note string:备注
- pinyin string: 昵称拼音首字母大写
- pinyinAll string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- v3 string
协议信息
同时支持GET和POST
GET /api/dbaccountbywxid?wxid=xxxx POST /api/dbaccountbywxid
别名
/api/dbAccountByWxid
/api/db-account-by-wxid
/api/db_account_by_wxid
请求字段
- JSON:
- wxid string
响应字段
- Alias string: 微信号
- NickName string: 昵称
- EncryptUserName string:v3
- Remark string: 备注
- RemarkPYInitial string: 备注拼音首字母大写
- RemarkQuanPin string: 备注拼音全
- PYInitial string: 昵称拼音首字母大写
- QuanPin string: 昵称拼音全
- profilePicture string:头像
- profilePictureSmall string:小头像
- type string
- UserName string:wxid
- 其余字段请自测
协议信息
同时支持GET和POST
GET /api/forwardmsg?wxid=xxxxxxxxxxx&msgId=xxxxxxxxxxxx POST /api/forwardmsg
别名
/api/forwardMsg
/api/forward-msg
/api/forward_msg
请求字段
这里说明一下,因为前端精度问题,有些大佬可能传递
msgId
字段时存在精度丢失或自动转字符串的问题,所以这里我将msgId
字段设置为了同时支持uint64
和string
两种类型!
- JSON:
- wxid string:本次转发消息的接收对象
- msgId uint64|string:消息id(通常可以用消息回调或者
websocket
回调获取到,当前是消息回调中的MsgSvrID
字段)
协议信息 GET /api/dbs
响应字段 map<string, uint64>
- string: 数据库名
- uint64: 句柄
协议信息 POST /api/execsql
别名
/api/execSql
/api/exec-sql
/api/exec_sql
请求字段
- JSON:
- dbName string:需要执行
SQL
的数据库名 - sql string:需要执行的
SQL
语句
- dbName string:需要执行
可执行的SQL例子:
PublicMsg.db
查询指定公众号的所有文章(本地已接受的)
SELECT * FROM PublicMsg WHERE StrTalker=='gh_13508120ed24'
查询指定时间范围的所有订阅号文章(20230115全天的)
SELECT * FROM PublicMsg WHERE CreateTime>1705248000 AND CreateTime<1705334399;
分页查询,从第21行开始,累加20条数据进行检索
SELECT * FROM PublicMsg ORDER BY localId DESC limit 20,20;
MicroMsg.db
查询通讯录所有成员(包括好友、群聊组、订阅号等)
SELECT * FROM Contact
目前已知BUG是部分环境/微信号有登陆后微信崩溃的问题,因为我本地环境均未复现出该问题,所以修复进度较慢,但修复中... 如果您愿意提供程序日志我不胜感激
响应字段
- url string:登陆二维码URL(需在微信中渲染为二维码后扫码)
- wxid string:当前实例登陆用户的wxid
- total uint32:每次回调的消息数量
- data:
- BytesExtra string:扩展字段BASE64后的二进制数据
- BytesTrans string
- Content string:订阅号号XML消息
- CreateTime string:秒级时间戳
- IsSender string:是否是自己发出的消息(0:非自己发送、1:自己发送)
- StrTalker string:订阅号发送者微信ID(wxid)
- SubType string:消息类型子类,例如视频消息大类下可能存在小程序等小类的区分
- Type string:消息类型
- localId string:本地数据库ID,目前来看是一个自增ID
- MsgSvrID string:消息id
- StatusEx、FlagEx、Status、MsgServerSeq、MsgSequence、Reserved0-6、TalkerId 未知
响应字段
- wxid string:当前实例登陆用户的wxid
- total uint32:每次回调的消息数量
- data:
- BytesExtra string:扩展字段BASE64后的二进制数据
- BytesTrans string
- StrContent string:字符串数据,除文本消息以为大部分均为XML数据
- Content string:引用消息、用户转发的订阅号消息等
- CreateTime string:秒级时间戳
- 从PC登陆微信上发出的消息:标记代表的是每个消息点下发送按钮的那一刻
- 从其它设备上发出的/收到的来自其它用户的消息:标记的是本地从服 务器接收到这一消息的时间
- DisplayContent string:拍一拍,邀请入群等消息
- IsSender string:是否是自己发出的消息(0:非自己发送、1:自己发送)
- StrTalker string:消息发送者微信ID(wxid)
- SubType string:消息类型子类,例如视频消息大类下可能存在小程序等小类的区分
- Type string:消息类型
- localId string:本地数据库ID,目前来看是一个自增ID
- MsgSvrID string:消息id
- Sender string:群聊消息发送人的wxid(仅在消息为chatroom群聊消息时存在该字段)
- StatusEx、FlagEx、Status、MsgServerSeq、MsgSequence、Reserved0-6、TalkerId 未知
协议信息
订阅号消息 GET ws://xxxxx/ws/publicMsg
普通消息 GET ws://xxxxx/ws/generalMsg
消息体参考回调响应字段
websocket没什么好说的,基本上第三方库都有直接可用的实现,协议升级后就是一条全双工通道,目前只用来接收同步微信的实时消息,不要发送消息到服务端,服务端不会响应。
需要你自己起一个Http Server服务用来接收微信的实时消息,你自己的Http Server启动之后通过接口注册到wxbot即可
POST /api/syncurl
别名
/api/syncUrl
/api/sync-url
/api/sync_url
请求字段
- url string: 你自己启动的Http Server地址路由(ip:port/[subpath])
- timeout int: 超时时间(当有一条新消息通过wxbot发送到你的回调地址时的最长连接等待时间)
- type: string
qrcode
:二维码消息回调(仅存在登陆二维码时触发)public-msg
:订阅号消息回调general-msg
:普通消息回调
GET /api/syncurl
别名
/api/syncUrl
/api/sync-url
/api/sync_url
DELETE /api/syncurl
别名
/api/syncUrl
/api/sync-url
/api/sync_url
请求字段
- url: 已注册的Http Server地址(ip:port/[subpath])
- type: string 此版本开始同时支持
msg
和msg2
两种回调(默认值:msg
)
Windows
所有powershell
或者是使用cmd
测试发送的例子都可能有编码问题!建议直接用程序测试!
# 发送文本
curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "content": "测试内容\nhello world!"}' http://127.0.0.1:8080/api/sendtxtmsg
# 发送艾特消息
curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "content": "测试内容\nhello world!", "atlist": ["被艾特人的wxid"]}' http://127.0.0.1:8080/api/sendtxtmsg
# 发送图片消息
curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "image": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="}' http://127.0.0.1:8080/api/sendimgmsg
# 发送文件消息
curl -Method POST -ContentType "application/json" -Body '{"wxid":"47331170911@chatroom", "file": "aGVsbG8gd29ybGQ=", "filename": "1.txt"}' http://127.0.0.1:8080/api/sendfilemsg
Linux
# 获取登陆用户信息
curl 127.0.0.1:8080/api/userinfo
# 获取通讯录信息
curl 127.0.0.1:8080/api/contacts
# 发送文本消息
curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "content": "测试内容\nHello World"}' 127.0.0.1:8080/api/sendtxtmsg
# 发送图片消息1(使用form-data表单方式提交)
curl -XPOST -F "wxid=47331170911@chatroom" -F "image=@/home/jwping/1.jpg" 127.0.0.1:8080/api/sendimgmsg
# 发送图片消息2(使用json方式提交)
curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "image": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="}' 127.0.0.1:8080/api/sendimgmsg
# 发送文件消息1(使用form-data表单方式提交)
curl -XPOST -F "wxid=47331170911@chatroom" -F "file=@/home/jwping/1.txt" 127.0.0.1:8080/api/sendfilemsg
# 发送文件消息2(使用json方式提交)
curl -XPOST -H "Content-Type: application/json" -d'{"wxid": "47331170911@chatroom", "filename": "1.txt", "file": "aGVsbG8gd29ybGQh"}' 127.0.0.1:8080/api/sendfilemsg
# 注册ws回调
# 使用任意程序websocket客户端连接127.0.0.1:8080/ws
# 注册http回调(http协议头不能少!)
curl -XPOST -d'{"url": "http://127.0.0.1:8081/callback", "timeout": 6000}' 127.0.0.1:8080/api/sync-url
# 获取当前已注册的http回调
curl 127.0.0.1:8080/api/sync-url
# 删除一个已注册的http回调
curl -XDELETE -d'{"url": "http://127.0.0.1:8081/callback"}' 127.0.0.1:8080/api/sync-url
如果觉得本项目对你有帮助,可以打赏一下作者,毕竟开源不易
当您在配置文件中开启了鉴权之后则 您后续的每个api请求都需要包含鉴权信息! 这里使用的是
Http Basic Authentication
,您可以先百度去了解一下它,当然,如果您不想了解也没关系,因为它真的很简单
# 假设您定义一个如下用户:
{
"user": "user2",
"password": "321",
"token": "token321"
}
那么您需要在您后续的每次请求的请求头中加上Authorization
字段:Authorization: Basic base64(username:password)
例如用curl命令请求的话,它可能长这样:
curl -H "Authorization: Basic dXNlcjI6MzIx" 127.0.0.1:8080/login -v
# response:
{"code":200,"data":{"token":"token321","user":"user2"},"msg":null}
这里引入了一个新的路由/login
,但我并不想将他写到上面的路由列表中,因为它真的没什么用,仅仅是在您登陆成功之后返回一个当前的登陆用户名和token
您在以后每个请求都加上Authorization: Basic dXNlcjI6MzIx
这个请求头就可以了!
如果您希望使用cookie
的方式,那么您可以在cookie
中指定token
例如,您也可以这样做:
curl --cookie "access_token=token321" 127.0.0.1:8080/userinfo -v
如果您不想用设置请求头的方式,那么您也可以在后续的所有请求的cookie
中指定access_token
字段即可。 实际上cookie
也是request header
中的一个字段
-
阿里网盘: https://www.aliyundrive.com/s/4eiNnE4hp4n 提取码: rt25
-
百度网盘: https://pan.baidu.com/s/1cmzXe8AxYvzXWW2WTVCdxQ?pwd=l671 提取码:l671
请添加微信:Anshan_PL,备注 wxbot 拉微信交流群
Tips:此群仅限学习和交流,无其他用处
Android端下载地址: https://telegram.org/android 其他客户端从这个网址找过去
安装后复制下面的链接到tg中打开: https://t.me/+DVigUtfAIOthNmNl
Tips:此TG群同样仅限学习和交流,无其他用处