开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】
基于微信Http协议封装的一个Sdk,目前实现了以下功能:、
1:扫码登录(检测二维码扫描状态)
2:获取最近联系人、群组、所有联系人
3:修改好友备注
4:给好友发送消息
暂且这么多,也没多余的时间去增加了,大家有需要的可以下载源码自己扩展下

项目结构如下

如何使用
HttpWeChat类封装了所有和微信相关的功能,对外暴露了以下事件,在实例化HttpWeChat实例的时候就可以订阅相关事件,并做相对应操作
/// <summary>
/// 二维码发生变化事件
/// </summary>
public event EventHandler<QrCodeChangEventArgs> QRCodeChangeEvent;
/// <summary>
/// 二维码状态发生改变事件
/// </summary>
public event EventHandler<QrCodeStatusChangEventArgs> QRCodeStatusChangeEvent;
/// <summary>
/// 初始化数据之前
/// </summary>
public event EventHandler<EventArgs> InitDatabeforeEvent;
/// <summary>
/// 初始化数据完成
/// </summary>
public event EventHandler<EventArgs> InitDatacompleteEvent;
/// <summary>
/// 消息检查事件
/// </summary>
public event EventHandler<SyncCheckEventArgs> SyncCheckEvent;
/// <summary>
/// 收到新消息事件
/// </summary>
public event EventHandler<WebwxsyncEventArgs> WebwxsyncEvent;
发送消息
var result = httpWeChat.SendMessage(new Model.SendMessage
{
ClientMsgId = DateTime.Now.ToUnix().ToString(),
Content = "测试一下",
ToUserName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text)?.UserName,
FromUserName = httpWeChat.WeChatData.CurrentLoginMemberInfo.UserName
});
if (result.Status)
{
MessageBox.Show("消息发送成功!消息Id是:" + result.MsgId);
}
else {
MessageBox.Show("消息发送失败,错误消息是:"+result.ErrorMsg);
}
修改备注
httpWeChat.UpdateRemarke(new Model.UpdateRemarke {
UserName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text)?.UserName,
RemarkName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text).RemarkName + "Sdk修改测试"
});
MessageBox.Show("修改成功!");
项目地址
https://github.com/dazhuangtage/Diego.WxHttpSdk/tree/master
当前项目源码仅供参考,不建议生产环境使用。
开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】的更多相关文章
- XMPP框架下微信项目总结(5)花名册获取(好友列表)
---->概念 ---->添加花名册 ps:添加花名册,启动: 客户端发送请求到服务器获取好友列表信息,同时在项目中创建数据表,并保存好友列表到数据表中. ---->获取服务器保存好 ...
- 一步一步来做WebQQ机器人-(四)(获取好友列表和群列表)
× 本篇主要是: 获取好友列表,群列表 我会尽量详细一点,尽我所知的分享一些可能大家已经掌握的或者还不清楚的经验 利于大家阅读,文章样式不再复杂化,根据内容取固定色 目前总进度大概65% 全系列预计会 ...
- web qq 获取好友列表hash算法
web qq 获取好友列表hash算法 在使用web qq的接口进行好友列表获取的时候,需要post一个参数:hash 在对其js文件进行分析之后,发现计算hash的函数位于: http://0.we ...
- XMPP系列(三)---获取好友列表、添加好友
1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...
- XMPP系列(三)---获取好友列表、加入好友
1.心跳检測.掉线重连功能 client和server端都能够设置多久发送一次心跳包,假设对方没有返回正确的pong信息,则会断开连接,而加入掉线重连功能,则会自己主动进行连接. 假设自己写聊天功能还 ...
- XMPP框架下微信项目总结(6)刷新好友列表(删除,添加好友)
原理:1 服务器(openfire)添加/删除 好友,会向客户端(app)发送消息, 2 代理(xmppStreamDelegate)监听到添加/删除消息后,花名册模块(RosterModule)会在 ...
- 关于Android SDK Manager无法获取更新列表的正确设置
1.以"管理员身份运行"SDK Manager. 2.Android SDK Manager"=>"Tools"=>"Optio ...
- 用简单的http抓包来实现微信公众网页如何模拟登录
一.准备工具: 系统:XP 浏览器:IE8 抓包工具:HttpWatch(它可以查看url请求的数据包) 二.抓包思路: 浏览器上的任何获取数据的方式都符合http协议的请求,只要发送符合要求的数据就 ...
- 微信支付V3 SDK Payment Spring Boot 1.0.6 发布,实现留守红包,助力抗疫
春节将至,为防控疫情,多地政府提倡员工.外来务工者留守本地过年,并鼓励企业向员工发放"留守红包".为此,微信支付推出"春节留守红包"能力,希望可以协助有发放需求 ...
随机推荐
- SqlServer 全文索引指令大全(转载)
-- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...
- Oracle 密码失灵
java.sql.SQLException: ORA-28001: 密碼已經屆滿 at oracle.jdbc.driver.DatabaseError.throwSqlException(Datab ...
- od 转储 二进制文件常用命令
od : NAME od - dump files in octal and other formats 常用命令: ➜ Downloads od -t x1 -Ax /etc/ld.so.cach ...
- ESXI6.0新添加硬盘未能格式化成功
最近练手,手头现有的硬盘是从其他机器上拆下来的,插入ESXI主机上,然后在系统配置硬盘的时候,不能格式化 报错 提示如下错误:"在ESXi"xxx.xxx.xxx.xxx" ...
- List集合的特有功能
import java.util.ArrayList; import java.util.List; /** * * List集合的特有功能 * A:添加功能 * void add(int index ...
- 【Python】新建自定义个数的自定义长度名字
# -*- coding:utf-8 -*- import random def CreateRandomName(number,length): """ :param ...
- android与JS交互,互相调用方法,跳转到网页
在main下面New - Folder - Assets Folder,在Assets下面新建一个js_android.html <html><head> <meta h ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
- RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
RedHat Enterprise Linux 6.4使用Centos 6的yum源问题 作为一名新手,学习Linux已经一个月了,其间遇到了不少问题,而今天笔者遇到的问题是 #yum install ...
- WebView之加载网页时增加进度提示
上一节讲了一些webview的基本使用以及在记载网页时如何屏蔽掉第三方浏览器,使我们自己开发的程序成为一个微型浏览器.那么这一节将一下在webView加载网页的过程中如何加上进度提示.效果图如下: 主 ...