基于.Net平台C#的微信网页版API
git上有很多类似的项目,但大多都是python和js的,为了便于.Net windows平台的使用,我重构了一个.Net版本的,已整理开源
https://github.com/leestar54/WebWeChatAPI.Net
WebWeChat.Net
基于.Net平台C#的微信网页版API
近期更新
- 实现API基础功能
开发运行环境
vs2015+.net4.0 framework
依赖项
json.net 4.0
Feature
- 最小依赖,使用简单
- 支持同步、基于事件回调的异步方法
- 对象间隔离,可以实例化无数客户端
简单使用
具体内容见源码,此处仅简单说明
static void Main(string[] args)
{
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; client = new Client();
qrForm = new QrCodeForm(); client.ExceptionCatched += Client_ExceptionCatched; ;
client.GetLoginQrCodeComplete += Client_GetLoginQrCodeComplete; ;
client.CheckScanComplete += Client_CheckScanComplete; ;
client.LoginComplete += Client_LoginComplete; ;
client.BatchGetContactComplete += Client_BatchGetContactComplete; ;
client.GetContactComplete += Client_GetContactComplete; ;
client.MPSubscribeMsgListComplete += Client_MPSubscribeMsgListComplete; ;
client.LogoutComplete += Client_LogoutComplete; ;
client.ReceiveMsg += Client_ReceiveMsg; ;
client.DelContactListComplete += Client_DelContactListComplete; ;
client.ModContactListComplete += Client_ModContactListComplete; Console.WriteLine("小助手启动");
client.Start();
qrForm.ShowDialog(); Console.ReadLine();
client.Close();
Console.ReadLine();
client.Logout();
}
方法说明
/// <summary>
/// 异步发送文字消息
/// </summary>
/// <param name="msg">消息</param>
/// <param name="toUserName">发送人UserName</param>
public void SendMsgAsync(string msg, string toUserName) /// <summary>
/// 同步发送文字消息
/// </summary>
/// <param name="msg">文字</param>
/// <param name="toUserName">发送人UserName</param>
/// <returns></returns>
public SendMsgResponse SendMsg(string msg, string toUserName) /// <summary>
/// 异步发送文件
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <param name="toUserName">发送人UserName</param>
public void SendMsgAsync(FileInfo fileInfo, string toUserName) /// <summary>
/// 同步发送文件,自动分块上传,文件较大可能会卡住进程,建议异步发送
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <param name="toUserName">发送人UserName</param>
/// <returns></returns>
public SendMsgResponse SendMsg(FileInfo fileInfo, string toUserName) /// <summary>
/// 获取头像,因为请求的时候需要带Cookie等相关参数,所以直接用新的http请求不行,务必使用客户端API来获取
/// </summary>
/// <param name="url">头像地址,例如/cgi-bin/mmwebwx-bin/webwxgeticon?seq=0&username=filehelper&skey=@crypt_372b266_540d016177e861740ee84fec697a3b01 </param>
/// <param name="action">委托Action</param>
/// <returns></returns>
public void GetIconAsync(string url, Action<Image> action) /// <summary>
/// 同步上传文件
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <returns></returns>
public UploadMediaResponse UploadFile(FileInfo fileInfo) /// <summary>
/// 同步修改备注
/// 注意:多次调用该接口会被封
/// </summary>
/// <param name="remarkName">需要修改的备注名</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse RemarkName(string remarkName, string userName) /// <summary>
/// 同步通过好友认证
/// </summary>
/// <param name="info">sync中获得的申请信息</param>
/// <returns></returns>
public SimpleResponse VerifyUser(RecommendInfo info) /// <summary>
/// 同步顶置聊天
/// 注意:多次调用该接口会被封
/// </summary>
/// <param name="remarkName">备注名,官方接口同时附带这个参数,我们也带上吧</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse TopContact(string remarkName, string userName) /// <summary>
/// 同步取消顶置消息
/// </summary>
/// <param name="remarkName">备注名,官方接口同时附带这个参数,我们也带上吧</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse UnTopContact(string remarkName, string userName) /// <summary>
/// 群里移除用户,用IsOwner判断自己是不是群主,否则没有权限
/// </summary>
/// <param name="roomName"></param>
/// <param name="delName">用户UserName,英文,分割</param>
/// <returns></returns>
public UpdateChatRoomResponse RemoveChatRoomMember(string roomName, List<string> delNameList) /// <summary>
/// 添加用户到群聊
/// </summary>
/// <param name="roomName">群UserName</param>
/// <param name="addName">用户UserName,英文,分割</param>
/// <returns></returns>
public UpdateChatRoomResponse AddChatRoomMember(string roomName, List<string> addNameList) /// <summary>
/// 创建群,调用完成,可以用返回的信息,通过GetBatchGetContact去获取群信息
/// </summary>
/// <param name="memberList">UserName的list</param>
/// <returns></returns>
public CreateChatRoomResponse CreateChatRoom(List<MemberItem> memberList)
参考
基于.Net平台C#的微信网页版API的更多相关文章
- CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷
CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷 CROW-5 WEB APP引擎商业计划书(HTML5方向)
- 微信网页版APP - 网页微信客户端电脑版体验
微信网页版很早就出来了,解决了很多人上班不能玩手机的问题.微信电脑版-网页微信客户端,直接安装在桌面的微信网页版,免去了开浏览器的麻烦.双击就启动了,和其他的应用程序一样:运行过程中可以隐藏在桌面右下 ...
- HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版
昨天看到这篇文章[置顶]开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面 就想弄一个winform结合html5的一个小东西,突有兴致,想在里面嵌套一 ...
- js实现类似微信网页版在可编辑的div中粘贴内容时过滤剪贴板的内容,光标始终在粘贴内容后面,以及将光标定位到最后的方法
过滤剪贴板内容以及定位可编辑div光标的方法: <!DOCTYPE html><html lang="en"><head> <meta ...
- 用requests登录微信网页版,并接收发送消息
首先,网页版微信登录大致分为以下几个流程(都是大家可以通过抓包得到): 1.登陆主页后,会生成一个UUID,这是个用户标识,在后面请求二维码会用到 def get_uuid(self): '''获取u ...
- 微信号网页版api
Django Wechat Api djangowechatapi是基于wxpy和django制作的web应用 安装 使用pip pip install djangowechatapi 源码安装 gi ...
- 基于HTML5的捕鱼达人游戏网页版
之前给大家分享了html5实现的水果忍者,愤怒的小鸟,中国象棋游戏.今天给大家分享一款捕鱼达人(fishjoy)网页版游戏的源码.可以在线玩也可以下载到本地.它使用html5技术和javascript ...
- Java微信公众平台开发_05_微信网页授权
GitHub源码:https://github.com/shirayner/weixin_gz 一.本节要点 1.网页授权回调域名 登录微信公众平台后台, 开发 - 接口权限 - 网页服务 - 网页帐 ...
- 【开源】SpringBoot&Netty实现仿微信网页版项目更新
阅读本文约“2.3分钟” 项目更新啦!V1.3.0 还记得那个聊天室的小项目吗? SpringBoot 加 Netty 实现聊天室 没错,这次已经完整进行了版本的替换,酥酥聊天室! 基于原项目的改动, ...
随机推荐
- UVa 11419 SAM I AM (最小覆盖数)
题意:给定一个 n * m 的矩阵,有一些格子有目标,每次可以消灭一行或者一列,问你最少要几次才能完成. 析:把 行看成 X,把列看成是 Y,每个目标都连一条线,那么就是一个二分图的最小覆盖数,这个答 ...
- Kali linux切换语言为中文
echo LANG="zh_CN.UTF-8" > /etc/default/locale
- bean 的各个属性
http://www.springframework.org/schema/beans/spring-beans.xsd org.springframework.beans.factory.confi ...
- Thrift线程和状态机分析
目录 目录 1 1. 工作线程和IO线程 1 2. TNonblockingServer::TConnection::transition() 2 3. RPC函数被调用过程 3 4. 管道和任务队列 ...
- 3dsmax导入点云数据
http://blog.sina.com.cn/s/blog_a4f6aad50101ht99.html https://blog.csdn.net/yangziluomu/article/detai ...
- [翻译]Writing Custom DB Engines 编写定制的DB引擎
Writing Custom DB Engines 编写定制的DB引擎 FastReport can build reports not only with data sourced from ...
- Head First iOS Programming
内部分享: Head First iOS Programming http://www.slideshare.net/tedzhaoxa/head-first-ios-programming-4606 ...
- The Scope Chain
JavaScript is a lexically scoped language: the scope of variable can be thought of as the set of sou ...
- Asp.NetCore安全验证之JWT
本文只是介绍了下基于AspNetCore自带的System.IdentityModel.Tokens.Jwt.dll工具在项目中Token的应用. 我这里谈到的很浅显就两点: 一,超时时间 二,数据的 ...
- JAVA—IO操作
一.JAVA I/O 输入输出流 1:编码问题 2:File类的使用 3:RandomAccessFile的使用 4:字节流的使用 5:字符流的使用 6:对象的序列化和反序列化 2: file类的使用 ...