您所在的位置:一起开源 >> 草根开源

.NET版微信客户端

        .net微信客户端项目是博客园的网友周见智开放的源代码,实现了winform模拟登录wx.qq.com的功能。

效果:

22.png


功能

能做:

  • 二维码登录;

  • 加载最近联系人;

  • 加载所有好友;

  • 聊天;

  • 查看好友信息。

不能做:

  • 不能收发复杂消息(实际上除了字符串之外都不能,表情我没有解析,你如果发送[拥抱],别人还是能收到正确的表情);

  • 不能看朋友圈;

  • 懒得写了,其他功能都不能。

 

原理步骤

打开 wx.qq.com ,按F12,然后手机扫描二维码登录,一切过程都能看到:

11.png

过程大概如下:

  1. 访问url获取回话ID;

  2. 根据会话ID获取二维码;

  3. 显示二维码;

  4. 循环判断二维码是否已被扫描(如果已经扫描,是否已点击“登录”);

  5. 如果用户点击了手机上的“登录”,服务器会返回一个特定的url,访问该url,服务器会返回登录相关的cookie(保存cookie到本地);

  6. 初始化微信(初始化的时候,会返回一部分最近联系人);

  7. 加载全部好友;

  8. 根据需要加载好友头像等等;

  9. 循环判断服务器上是否有数据更新(比如收到了别人的消息);

  10. 如果有更新,则同步数据;

  11. 返回第9步。

一些参考

源码中用到了一些开源代码和一些工具:

  • Webkit.NET(用于聊天框、自带的Webbrowser兼容不行);

  • json.net(解析服务器返回的json数据)

  • chrome(浏览器 按F12 大家都懂的)

注:登录后一段时间,数据同步经常出现1205错误,导致接收不到别人发过来的消息,该错误暂时还未解决,下次找到原因了再更新。

 

所有源码均遵循MIT协议,开源有益,多谢点赞!

转载至:http://www.cnblogs.com/xiaozhi_5638/p/4923811.html

软件首页 软件下载