解决微信班级魔方打卡定位难题!AutoCheckBJMF 项目详解 + 抓包核心实战

在日常学习生活中,不少同学会被班级魔方的 GPS 定位打卡、二维码打卡所困扰,异地打卡、忘记打卡的情况屡见不鲜。今天给大家介绍一款基于 Python 开发的班级魔方自动签到神器 ------AutoCheckBJMF,同时手把手教大家抓包获取班级魔方打卡核心字段,彻底解决定位打卡的痛点问题。

一、AutoCheckBJMF 项目核心介绍

1. 项目基础信息

AutoCheckBJMF 是由开发者 JasonYANG170 开源在 GitHub 的班级魔方自动签到脚本,项目发布于 2024 年 4 月 24 日,基于 Python 语言开发,完全开源免费,支持 Windows、Mac、Linux 全平台运行,目前在 GitHub 上已有不少开发者关注使用。项目地址:https://github.com/JasonYANG170/AutoCheckBJMF

2. 支持的打卡模式

该项目几乎覆盖了班级魔方主流的打卡方式,且均经过验证可用,唯一待开发的是密码签到模式,核心支持:

  • ✅ 二维码签到(完美适配)
  • ✅ GPS 定位签到(支持自定义经纬度,解决异地打卡)
  • ✅ GPS + 拍照签到(一站式完成定位 + 拍照打卡)
  • 🚧 密码签到(开发中)

3. 核心功能亮点

这款脚本的强大之处在于自动化、无人值守、高自定义,核心功能如下:

  1. 定时开启签到:可自定义打卡时间,告别手动定闹钟;
  2. 24 小时无人值守:部署后无需人工干预,自动完成打卡任务;
  3. 一键安装:支持 msi 安装包,小白也能快速上手,无需复杂配置;
  4. 自定义经纬度:核心解决 GPS 定位打卡问题,想定位哪里就填哪里;
  5. 循环检测任务:自动检测是否有未完成的 GPS / 扫码打卡,发现即完成;
  6. 配置文件自动管理:支持 data.json 配置文件的导入和信息自动保存,一次配置永久使用;
  7. Cookie 持久化:无需重复抓包获取 Cookie,一次抓取即可连续签到,大幅降低操作成本。

4. 项目文件结构

项目的文件结构简洁明了,核心文件少,易二次开发和调试:

  • .github/workflows:GitHub Actions 工作流配置,支持自动化部署;
  • main.py:项目核心脚本文件,所有打卡逻辑均在此实现;
  • main.spec:打包配置文件,用于将 Python 脚本打包为可执行文件;
  • README.md:项目说明文档,包含基础使用教程;
  • LICENSE:开源协议文件。

二、核心关键:抓包获取班级魔方打卡真实字段

想要让 AutoCheckBJMF 脚本正常工作,抓包获取班级魔方打卡的核心请求字段是重中之重。班级魔方的打卡请求基于 HTTP/HTTPS 协议,所有的定位信息、用户认证信息、打卡指令都藏在请求包中,我们需要通过抓包工具提取真实字段,才能让脚本模拟正常的打卡请求。

1. 准备抓包工具

推荐使用Fiddler(全平台适配,操作简单),也可使用 Charles、Wireshark,本文以 Fiddler 为例,工具免费下载,无需付费激活。

2. 抓包环境配置

(1)Fiddler 基础配置
  1. 打开 Fiddler,进入Tools → Options → Connections,勾选Allow remote computers to connect,默认端口 8888,记住电脑的局域网 IP(如 192.168.1.100);
  2. 进入Tools → Options → HTTPS,勾选Capture HTTPS CONNECTsDecrypt HTTPS traffic,安装根证书并信任,解决 HTTPS 加密请求无法解析的问题;
  3. 确保 Fiddler 左下角显示Capturing,表示抓包功能已开启。
(2)微信小程序代理配置(关键)

班级魔方打卡多为微信小程序端,需将微信的网络请求代理到 Fiddler:

  1. 确保手机(运行微信)和电脑(运行 Fiddler)连接同一 Wi-Fi
  2. 打开手机 Wi-Fi 设置,找到当前连接的 Wi-Fi,开启手动代理,输入电脑局域网 IP(如 192.168.1.100)和 Fiddler 端口(8888);
  3. 打开手机浏览器,访问http://电脑IP:8888,下载并安装 Fiddler 根证书,完成 HTTPS 解密授权。

3. 抓取班级魔方打卡核心字段

配置完成后,开始抓包操作,全程需保证 Fiddler 处于抓包状态:

  1. 打开微信,进入班级魔方小程序 ,登录自己的账号,找到需要打卡的 GPS 定位打卡 / 二维码打卡入口,点击打卡但不要确认
  2. 回到 Fiddler,在左侧请求列表中,筛选包含banjimofang(班级魔方域名)的请求,重点关注POST/GET 类型的请求(打卡请求多为 POST);
  3. 点击目标请求,查看右侧Inspectors 面板,依次提取以下核心字段 (打卡的关键,缺一不可):
    • Request Headers 中的Cookie:用户身份认证信息,脚本通过 Cookie 识别账号,AutoCheckBJMF 支持 Cookie 持久化,一次抓取即可重复使用;
    • Request Body 中的经纬度字段:通常为latitude(纬度)、longitude(经度),这是 GPS 定位的核心,也是自定义定位的修改目标;
    • 请求 URL:班级魔方的打卡接口地址,脚本需要通过该地址发送模拟打卡请求;
    • 其他参数 :如userId(用户 ID)、taskId(打卡任务 ID)、sign(签名,部分请求有),需完整提取并保留。
抓包关键注意事项
  1. 抓包时尽量清空 Fiddler 原有请求 (点击Clear Cache),避免无关请求干扰;
  2. 若未找到班级魔方相关请求,可刷新小程序或重新点击打卡按钮,触发请求;
  3. 提取字段时严格保留格式,尤其是 Cookie 和经纬度,不要修改字符大小写和符号;
  4. 若遇到sign签名参数,无需破解,直接将抓取的 sign 值填入脚本配置文件即可。

4. 字段验证

抓取字段后,可在 Fiddler 中重放请求,验证字段的有效性:

  1. 右键点击目标打卡请求,选择Replay → Reissue Request
  2. 若重放后返回打卡成功或状态码 200,表示字段抓取正确;
  3. 若返回失败,检查是否漏抓字段、Cookie 是否过期,重新抓包即可。

三、AutoCheckBJMF 项目使用步骤

1. 环境准备 / 一键安装

  • 小白推荐:直接下载项目的 msi 安装包,双击一键安装,无需配置 Python 环境;
  • 开发者推荐 :克隆项目到本地,安装 Python3.8 + 环境,执行pip install -r requirements.txt安装依赖包。

2. 配置核心字段

  1. 打开项目的data.json配置文件;
  2. 将抓包获取的Cookie、打卡接口 URL、userIdtaskId等字段依次填入对应位置;
  3. 自定义 GPS 定位:将latitudelongitude修改为目标位置的经纬度(可从高德 / 百度地图获取任意地点的经纬度);
  4. 保存配置文件,完成核心设置。

3. 运行脚本 / 设置定时

  • 直接运行 :双击安装后的可执行文件,或在终端执行python main.py,脚本将自动检测打卡任务并完成;
  • 定时打卡:在配置文件中设置打卡时间,脚本将按照设定时间自动执行,实现 24 小时无人值守;
  • 自行打包 :若需自定义修改脚本,修改完成后执行pyinstaller main.spec,即可将脚本打包为全平台可执行文件。

四、项目二次开发与注意事项

1. 二次开发

项目核心代码在main.py中,基于 Python 的requests库实现网络请求,time库实现定时,json库实现配置文件管理,代码注释清晰,开发者可根据需求修改:

  • 新增打卡模式:如密码签到,可基于抓包的密码签到请求字段,在main.py中添加对应的请求逻辑;
  • 新增提醒功能:可结合smtplib库,添加打卡成功 / 失败的邮件 / 短信提醒;
  • 多账号打卡:修改data.json配置文件,支持多账号的字段配置,实现批量打卡。

2. 重要使用须知

  1. 合规使用:开发者明确声明,严禁将本程序用于违法用途,需遵守平台法规,若违背班级魔方平台利益,开发者将撤销支持;
  2. Cookie 有效期:虽然脚本支持 Cookie 持久化,但 Cookie 仍有过期时间,若打卡失败,需重新抓包获取最新 Cookie;
  3. 防检测:请勿频繁、大量使用脚本打卡,避免因请求频率过高被班级魔方平台检测到,导致账号受限;
  4. 问题反馈:若使用过程中遇到问题,可在 GitHub 项目的 Issues 中向开发者反馈,开发者会及时回复。

五、总结

AutoCheckBJMF 是一款解决班级魔方打卡痛点的优秀开源项目,凭借全平台支持、多打卡模式适配、自定义定位、无人值守 等特性,大幅提升了打卡的便捷性。而整个项目使用的核心,就是抓包获取真实的打卡请求字段------ 只要能准确提取 Cookie、经纬度、接口地址等关键信息,就能让脚本完美模拟人工打卡请求,轻松解决 GPS 定位打卡的难题。

该项目不仅适合普通用户使用,也适合 Python 初学者学习网络请求模拟、抓包分析、配置文件管理、脚本打包等知识点,感兴趣的同学可以去 GitHub 点个 Star,支持一下开发者的开源工作。

最后再次提醒:技术本身是中性的,请大家将该项目用于合法合规的场景,切勿利用技术进行违规操作!

项目地址:https://github.com/JasonYANG170/AutoCheckBJMF官方使用教程:https://github.com/JasonYANG170/AutoCheckBJMF/wiki

相关推荐
Simon_lca3 小时前
CABELAS 验厂完整科普:审核规则、核心要求与实操注意事项全解
大数据·人工智能·经验分享·微信·制造
KIKIiiiiiiii1 天前
微信自动化机器人开发
java·开发语言·人工智能·python·微信·自动化
陈思杰系统思考Jason1 天前
学习实验室:突破顾问合作的瓶颈
百度·微信·微信公众平台·新浪微博·微信开放平台
ok_hahaha2 天前
java从头开始-苍穹外卖-day06-微信小程序开发-微信登录和商品浏览
java·微信·微信小程序·小程序
不懂代码的切图仔3 天前
小程序web-view嵌入h5扫码 html5-qrcode库使用方法
前端·微信
陈思杰系统思考Jason3 天前
系统思考:奢侈品零售思维破局困境
百度·微信·微信公众平台·新浪微博·微信开放平台
ws540d4 天前
水~~~~~~
微信
陈思杰系统思考Jason5 天前
系统思考:局部最优全局受损
百度·微信·微信公众平台·新浪微博·微信开放平台
JEECG低代码平台6 天前
JeecgBoot低代码平台微信支付宝支付模块集成开发指南
低代码·微信