Reqable 是一款手机抓包 App,不需要 root,对大多数安卓手机可用。
在抓包结果里,找包含下面任意一个的请求:
| 特征 | 说明 |
|---|---|
请求头 Authorization: Bearer eyJ... | 最常见,任选一个 api 请求 |
网址里含 ?token=eyJ... | WebSocket 连接(wss://) |
找到后,把那一整条请求(或只要能包含 eyJ 开头那串的内容)复制出来。
如果你能在手机浏览器(如 Via、X 浏览器、Kiwi)里打开智慧课堂并登录,用这个方法比抓包简单得多。
// ==UserScript==
// @name 智慧课堂 Token 导出
// @match *://zhkt.xaiu.edu.cn:8443/*
// @run-at document-start
// @grant none
// ==/UserScript==
(function () {
'use strict';
function copy(text) {
var ta = document.createElement('textarea');
ta.value = text;
ta.style.cssText = 'position:fixed;left:-9999px';
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
ta.remove();
}
function show(text) {
var old = document.getElementById('xaiu-tok');
if (old) old.remove();
var el = document.createElement('div');
el.id = 'xaiu-tok';
el.innerHTML =
''
+ '✅ 已复制你的 Token'
+ '' + text + ''
+ '把它粘贴到签到平台的「方式二」输入框即可'
+ ''
+ '';
document.body.appendChild(el);
document.getElementById('xaiu-close').onclick = function () { el.remove(); };
}
function tryGet() {
var t = sessionStorage.getItem('token');
if (t && t.indexOf('eyJ') === 0) {
copy(t);
show(t);
return true;
}
return false;
}
// 登录后 token 才写入 sessionStorage,需轮询等待
var n = 0;
var timer = setInterval(function () {
n++;
if (tryGet() || n > 200) clearInterval(timer);
}, 500);
})();
https://zhkt.xaiu.edu.cn:8443/Xaiu#身份证后六位)说明企业微信校验了证书(SSL Pinning)。这种情况抓包方案不可用,请改用方案 B 油猴脚本。
确认你复制的内容里含有 eyJ 开头的一长串字符(通常 300 字符以上)。
可以只复制那一串,不复制别的。
抓包到粘贴之间隔太久(token 是即时的),或复制错了。请重新抓一次,尽快粘贴。
你的绑定名额已满。如需更换,请先删除已有账号后再绑定。
可以,token 有效期约 90 天。过期后系统会提示你重新导出一次。