​​一、想法来源

​      作为程序员,对自己工具不满,就要去改造,对于微信已经厌恶极久了。总有人不合时宜的发语音,总有老板无时无刻的艾特,总有微商群发各种消息。重点是不能忍受语音。​当现有客户端不能满足要求,心中无限郁闷,想着做一个客户端,去回怼那些发语音的人。

二、初期准备​

最开始想从手机微信客户端动手​,奈何抓包看的我头疼,后来想到用Fiddler(比较友好易用)去抓微信网页版,就开始了各种抓包之旅。

三、目录接口​

因为是第一次​写类似的类库,中间迭代重写了好几次,主要包含CommonTools.dll,HttpHelper.dll跟一个WeChatCore.dll,第一个工具包,提供简单工具类,例如一些扩展方法处理(不包含业务逻辑的),还有一些简单的日志记录之类的。第二个工具包就是简单的http请求,做了一个简单的封装。WeChatCore.dll是核心业务dll主要目录结构如下:

主要目录结构

​​首先Common文件夹下包含有

Common

​包含此三个工具类,

CommonMethodCallBackHandlers.cs提供一些方法回调,比如收到信息,发送信息,登录,扫码等等一系列交互回调。

MethodsHelper​.cs主要是一些产生微信协议随机字段跟字符串的帮助方法。

NotifyPropertyChanged.cs是一个属性变化通知方法,用来当某个字段属性变化时,执行某个动作,在下载头像中有用到。​

​此目录下三个类中重点关注下CommonMethodCallBackHandlers类,因为它直接决定了数据传输跟交互。

控件

​这个是最早的一个头像下载控件,继承自Image​,后来就没有用它

基础定义

​​Data文件夹本来是要放置一个登陆后的id的,但是后来工作忙了就没有实现。DefineClass是一系列的定义方法。CommonDefine.cs包含有一些基本的数据定义比如cookie缓存之类的,之所以放到这,我不想http部分承担太多业务层,ConfigDefine.cs配置日志,自动回复等本地存储的根路径。DirectoryDefine​.cs主要是创建一些基础的目录,比如声音,图像,视频之类的。LogPathDefine.cs主要是一些日志存储路径。UrlDefine.cs包含了所有的请求Url的定义。

实体类

​百分之九十九为微信交互协议生成的实体类,注意一个类MsgEntity.cs  为自定义外部交互信息类,所有你想要的信息操作都在这里。​

枚举类

​主要是一些基本数据的枚举,待补充。

引用和默认头像

​主要是引用的一些外部dll跟党头像没有下载下来时候的默认图像。

主体业务类

内部结构

​其中包含一系列的静态方法,直接调用即可。

初始化方法如下

调用方式

​​先注册一系列的回调函数,然后调用WeChat.InitInitWeChatRobot();此方法最好放到异步线程中调用,主线程会卡死界面。

第一次瞎写,你们还是看代码吧、、、​

地址

https://gitee.com/tangmanger/WeChatCore

git

https://gitee.com/tangmanger/WeChatCore.git ​

https://gitee.com/tangmanger/EasyWeChatClient.git (简单例子)​​​​​

最近有点忙已经很久没来的及更新这个了

基于C#简单实现的微信网页版接口相关推荐

  1. 基于.Net平台C#的微信网页版API

    git上有很多类似的项目,但大多都是python和js的,为了便于.Net windows平台的使用,我重构了一个.Net版本的,已整理开源 https://github.com/leestar54/ ...

  2. 微信机器人网页版接口详解

    微信网页版接口详解 本系列会讲述微信机器人技术的实现,第一讲主要了解微信网页版给我们提供的http接口,这一步是做一个基于微信网页版机器人的基础和难点. 本讲将微信网页版的主要接口罗列出,并给出了入参 ...

  3. 微信web版接口api

    安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sd ...

  4. [微信] 微信网页版扫码登录的实现

    我们先来回顾一下微信网页版的扫码登录过程 1. 打开微信网页版,https://wx.qq.com/ 2. 打开手机微信客户端,扫一扫 3. 点击确定,登录 看似简单的操作流程,中间涉及的数据交互有很 ...

  5. 网页版登录入口_企业微信网页版怎么登录?企业微信客户端和网页版有什么区别?...

    文丨语鹦企服私域管家原创,未经授权不得转载 企业微信有网页版也有客户端,很多小伙伴可能搞不清,今天语鹦企服就带你一起看看,企业微信客户端和网页版有什么区别?以及如何登录使用. ▎企业微信网页版: 与微 ...

  6. 浅谈扫描二维码登录微信网页版与摇一摇传图的实现原理

    前言:简单体验了下微信网页版通过二维码登录和摇一摇传图功能,从技术角度看,网上专家吹捧的 [隔空取物]其实并不神秘,我先简单分析一下. 1. 微信移动端扫描二维码登录(C-S-C模式) CSC模式为: ...

  7. facebook网页版登录_微信网页版关闭登录将影响一大批使用itchat等Web Api方案的微信机器人...

    微信网页版限制登录或禁止登录将影响一大批使用itchat等Web Api方案的微信机器人 网页版微信 API 被封了,像使用 itchat wxpy wxbot等基于 web API 的微信 robo ...

  8. 用python 、itchat登录微信网页版 微商自动回复功能、抓取微信好友信息列表。

    最近用Python实现了一些微信的简单玩法 我们可以通过网页版的微信 微信网页版 ,扫码登录后去抓包爬取微信信息,还可以post去发送信息. >>安装itchat这个库 pip insta ...

  9. php++仿网页版微信,vue+web端仿微信网页版聊天室功能

    一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室- ...

最新文章

  1. 关中断解决任务间资源共享问题
  2. 用angr解二进制题目1
  3. php进销存 带apk,php进销存配送管理系统,支持h5/ios/android/微信小程序
  4. php 快递查询,PHP查询快递信息
  5. Redis,Memcache,MongoDb的特点与区别
  6. 法的详细步骤_空气能热水工程安装步骤讲解
  7. http://code.svnspot.com/ 免费代码托管
  8. TCP/IP协议栈之LwIP(十一)--- LwIP协议栈移植
  9. “易图购”数码商城App设计与实现
  10. Android 呼吸灯流程分析(一)
  11. word制作流程图有没有橡皮擦_WORD文档绘图,里面的橡皮擦在哪里啊
  12. 【英语】December
  13. Error in Summary.factor ‘min’ not meaningful for factors
  14. Sisyphus.js 自动保存草稿 用法
  15. 国产科幻惊悚电影《太空群落》视效制作大放送
  16. 普通高等学校毕业生就业工作暂行规定
  17. MySQL调优系列:慢查询记录
  18. 实现简易HTTP服务器
  19. 从大三开始奋发的程序员面临新的困惑
  20. TiDB 可观测性方案落地探索 | “我们这么菜评委不会生气吧”团队访谈

热门文章

  1. nginx 出现File not found.解决方案
  2. Python打印异常信息并暂停程序
  3. vue学习笔记一:vue项目中设置背景图片
  4. DreamSceneSeven打造炫酷的动态桌面
  5. 5g上行速率怎么提升_5G手机到底牛逼在哪里?(SRS轮发)
  6. PHP字符串中提取文件名的实例方法
  7. button属性的值和说明
  8. JavaScript基础入门教程
  9. 删除计算机用户账户后密码不对,刚买的电脑删除用户之后,还要密码开机,而且密码错误,怎么处理?...
  10. 锐炬xe核显相当于什么显卡