用C#写一个微信登录软件(自己写协议)

本文介绍如何使用C#编写一个微信登录软件,详细阐述从获取UUID到检测二维码状态的整个过程。教程中提到,首先获取UUID以请求二维码,然后通过循环检测二维码状态,当用户扫码并确认登录后,软件会显示已登录。此外,软件还具备二维码过期提醒和刷新功能。由于作者的微信账号被限制网页登录,该软件未能完成作为微信机器人的目标。
摘要由CSDN通过智能技术生成

用C#写一个微信登录软件(自己写协议)

为什么会写这个?
我本来想用于参加高中(普通高中 编程是自己学的)的一个竞赛,但是由于微信号被微信限制网页登录,所以无法继续进行编写. 于是想写个教程,从头到尾详细的分享给大家制作过程,造福以后想做的人.

效果预览
在这里插入图片描述打开软件,第一步需要你扫码.

在这里插入图片描述扫码后,会获取微信号头像,并且显示已扫码,要求在微信确认.

在这里插入图片描述当用户登录后,会显示已登录.
一些附加功能: 如果长时间不登录,会提示二维码过期,并且刷新二维码,头像回到默认头像.

一个小菜蛋, 最终也没有用于参赛…
在这里插入图片描述
开始教程:
首先我们要知道,制作一个微信登录软件,对接的其实是微信网页版.
大致步骤为:
1.获取UUID
2.获取二维码
3.检测二维码状态

以下URL均可以抓包获取

先创建一个类似于这样的页面 这里使用了winform 当然,你也可以用wpf在这里插入图片描述
首先,在界面加载事件中,我们需要做的事情有二行代码(有三行代码 建议加第一行)

 private void Form1_Load(object sender, EventArgs e)
 {
   
            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
            flushQRCode();
            checkLoginState();
 }

我们先来看第一个 刷新二维码(flushQRCode) 函数
这里面包含了获取UUID的步骤,先来获取UUID(有了UUID才能像微信要对应的二维码)
我们像微信获取UUID 要访问的URL为: wx.qq.com/jslogin
当然,光这个URL还不行,我们还需要参数,这里我们使用(GET)请求,然后获取response并读取内容.
参数有

1.appid = wx782c26e4c19acffb (固定的)
2.redirect_uri = https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage
3.fun = new (这个应该是代表新登录协议)
4.lang = zh_CN (语言,zh_CN表示中文)
5._ = 时间戳

知道了参数,我们先先同过这些参数获取UUID

 TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
 String returnn = sendGetRequestAndGetReturn("https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=" + Convert.ToInt64(ts.TotalSeconds).ToString());
private String 
C是一种计算机编程语言,由美国贝尔实验室的丹尼斯·里奇于1972年开发。C语言是一种通用的高级程序设计语言,被广泛应用于系统软件、应用软件和嵌入式系统的开发中。 C语言的设计目标是提供高效、可移植和可扩展的编程环境。它具有较低的级别和较高的抽象程度,允许程序员直接访问和操作计算机硬件,同时具备更高级别语言的表达能力。 C语言具有简洁而又灵活的语法结构,使得程序员可以轻松地编和理解代码。它支持丰富的数据类型、运算符和控制流结构,为程序员提供了强大的编程能力。同时,C语言还提供了丰富的库函数,使得编复杂的程序变得更加简单。 C语言的特点之一是具有良好的可移植性。由于C语言在不同的计算机系统上的实现较为统一,因此编的程序可以很容易地在不同的平台上运行。这使得C语言成为了跨平台开发的首选语言。 C语言的应用非常广泛。它被用于开发各种类型的软件,包括操作系统、编译器、数据库、网络协议等。此外,C语言还被广泛应用于嵌入式系统的开发中,因为它能够直接访问硬件资源,具备较好的性能和效率。 总之,C语言是一种功能强大、灵活且可移植的编程语言。它在计算机科学领域发挥着重要的作用,无论是在系统软件还是应用软件的开发中,都有着广泛的应用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值