对,已经成功了。"result":1 就是认证成功。
下次完全不用再分析 a40.js、a41.js、801 端口这些东西 。建议把这套流程直接做成 campus-login 命令,而且不要把密码明文写进脚本。
最简单的长期方案
在 Ubuntu 上执行:
mkdir -p ~/.local/bin
cat > ~/.local/bin/campus-login <<'EOF'
#!/usr/bin/env bash
PORTAL="http://192.168.100.200/drcom/login"
read -p "校园网账号: " CAMPUS_USER
read -s -p "校园网密码: " CAMPUS_PASS
echo
RESULT=$(curl -sG "$PORTAL" \
--data-urlencode 'callback=dr1001' \
--data-urlencode "DDDDD=$CAMPUS_USER" \
--data-urlencode "upass=$CAMPUS_PASS" \
--data-urlencode '0MKKey=123456' \
--data-urlencode 'R1=' \
--data-urlencode 'R2=' \
--data-urlencode 'R3=' \
--data-urlencode 'R6=0' \
--data-urlencode 'para=' \
--data-urlencode 'v6ip=' \
--data-urlencode 'terminal_type=2' \
--data-urlencode 'jsVersion=4.1.3' \
--data-urlencode "v=$((RANDOM % 9500 + 500))" \
--data-urlencode 'lang=zh')
if echo "$RESULT" | grep -q '"result":1'; then
echo
echo "================================"
echo " 校园网认证成功"
echo "================================"
echo
echo "正在测试 Internet..."
if curl -4 -I -s --connect-timeout 8 https://www.baidu.com >/dev/null; then
echo "Internet 访问正常。"
else
echo "认证成功,但公网测试失败。"
fi
else
echo
echo "================================"
echo " 校园网认证失败"
echo "================================"
echo
echo "服务器返回:"
echo "$RESULT"
fi
unset CAMPUS_USER CAMPUS_PASS
EOF
chmod +x ~/.local/bin/campus-login
然后确认:
echo $PATH
你的 claude 本来就在:
/home/hongchang/.local/bin/claude
所以你的 ~/.local/bin 大概率已经在 PATH 中。
测试:
campus-login
它会让你输入:
校园网账号:
校园网密码:
密码输入时屏幕不会显示任何字符,输完回车即可。
以后服务器断网,你实际上只需要这样
SSH/VS Code Remote SSH 登录 node01 后:
campus-login
认证成功以后再验证:
curl -4 -I --connect-timeout 10 https://www.baidu.com
然后:
curl -4 -I --connect-timeout 10 https://api.deepseek.com
如果这两个恢复,你的链路就是:
node01
↓
CAUC 校园网
↓
Dr.COM 认证成功
↓
Internet
↓
api.deepseek.com
↓
CC-Switch 配置
↓
Claude Code
所以你今天最开始那个:
Claude Code 无反应
根本原因其实不是 Claude Code、CC-Switch、DeepSeek API 余额,也不是 VS Code Remote SSH。
而是:
node01 的校园网认证掉了
↓
HTTP 被 Dr.COM 重定向
HTTPS 直接超时
↓
api.deepseek.com 无法连接
↓
Claude Code 表现为一直没反应
下次最快诊断顺序
记住三个命令基本就够了:
curl -I --connect-timeout 5 https://www.baidu.com
失败就检查:
curl -v --connect-timeout 5 http://1.1.1.1/
如果再次看到:
Server: DrcomServer
Location: http://192.168.100.200
不用再查 Claude,直接:
campus-login
即可。
还有一点:你这次已经把校园网密码明文发到了聊天中,建议把该密码更换掉。我们上面这个最终脚本使用 read -s,以后密码不会写进脚本,也不会直接出现在 shell 命令历史中。
如果你愿意进一步省事,还可以做成**"自动检测断网 → 发现 Dr.COM → 自动执行认证"**,甚至账号固定、只临时输入密码,那样以后基本就是一条 campus-login。