🏕️
ohwxapi
  • 😀OHwxapi简介
  • 前言
    • 😁部分风控说明(必读)
    • 😄搭建环境指南(必读)
  • 基础
    • 🐶获取二维码
    • 🐱推送登录
  • 好友接口
    • 🐭获取通讯录好友
    • 🤩搜索账号
    • 🤌添加好友
    • 👌同意好友
    • 👜删除好友
    • 💩拉黑好友
    • 👩‍🌾备注好友
    • 👨‍🚒好友资料
  • 群聊接口
    • 🍏创建群聊
    • 🧑‍🎄邀请进群
    • 👩‍🌾移除群聊
    • 🧕群二维码
    • 🫢退出群聊
    • 🫲修改群名
    • 👴自动进群
    • 🗣️扫码进群
    • 👱‍♂️保存通讯录
    • 🧚设置管理员
    • 👩‍🍼设置群聊公告
    • 🤰获取群资料
    • 🦸‍♂️群聊邀请设置
    • 👨‍🍼转让群聊设置
    • 🦧获取群成员资料
    • 🪷获取群成员资料2
  • 发消息接口
    • 🪮发送文本消息
    • 🚴发送图片消息
    • 🌳发送APP消息
    • 🧙发送语音消息
    • 🧑‍🔬发送CDN小视频
    • 🙅‍♀️发送名片消息
  • 小程序相关
    • 🌨️搜索小程序
    • 🦍小程序Code
    • 🌳SessionID
    • 🧎‍♀️授权手机号
  • 其他
    • 🤙确认收款
    • 👨‍🌾获取在线列表
  • cdn
    • 😋上传CDN图片
    • 🥹上传CDN文件
    • 👨‍🦰发送CDN图片
    • 🙅下载CDN资源
    • 👩‍🎨下载语音消息
  • 朋友圈
    • 😉发送朋友圈
    • 🦊拉取朋友圈
    • 😛获取朋友圈
  • webSocket
    • 🥦通过websocket获取消息
Powered by GitBook
On this page
  • Websocket Server Demo
  • Websocket Client Demo
  1. webSocket

通过websocket获取消息

框架提供了WebSocket服务器和客户端、可实现正向链接和反向链接的功能

正向连接 默认服务器监听端口即 ws://127.0.0.1:8898/ws 你的客户端连接框架的Websocket服务器即可收到推送

反向连接 配置 -wsserver 参数即可 -wsserver ws://127.0.0.1:5678/ws 此时框架会作为客户端连接你的WebSocket服务器 若你的服务器异常断线 框架会自动重连你的WebSocket服务器

只给出了Python的Wsdemo 其他语言自行解决、询问ChatGPT即可

Websocket Server Demo

import asyncio
import json
import random
import requests
import websockets

# websocket server

async def main_logic(websocket, path):
    while True:
        greeting = await websocket.recv()
        EventJson = json.loads(greeting)
        EventName = EventJson["CurrentPacket"]["Data"]["EventName"]
        print(f"<{EventName} {greeting}")
start_server = websockets.serve(main_logic, '127.0.0.1', 5678)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

Websocket Client Demo

import asyncio
import json
import random
import requests
import websockets
#websocket client
SERCIVE_HOST = "127.0.0.1:8898"
async def Wsdemo():
    uri = "ws://{}/ws".format(SERCIVE_HOST)
    try:
        async with websockets.connect(uri) as websocket:
            while True:
                greeting = await websocket.recv()
                EventJson = json.loads(greeting)
                EventName = EventJson["CurrentPacket"]["Data"]["EventName"]
                 
                print(f"<{EventName} {greeting}")

    except Exception as e:
        # 断线重连
        t = random.randint(5, 8)
        print(f"< 超时重连中... { t}", e)
        await asyncio.sleep(t)
        await Wsdemo()
asyncio.get_event_loop().run_until_complete(Wsdemo())

  • WS基础结构体 没有一一列出来 自行按需解析 即可

{
    "CurrentPacket": {
        "WebConnId": "",
        "Data": {N多结构体},
    "CurrentWxid": "Wxid_xxxxxxxx"
}

Previous获取朋友圈

Last updated 1 year ago

🥦