12306 APP 网络错误 解决办法
背景
前两天临时决定买火车票,打开 12306,结果一上来就不对劲。
登录直接报错,刷新也不行,统一一句话:
请检查网络设置或者切换网络后再试一次(3)
第一反应肯定是网络问题。
我把能想到的都试了一遍:
- Wi-Fi / 4G / 5G 来回切
- 开关飞行模式
- 换 DNS
- 关掉代理 / VPN
结果——完全没用。
其他应用一切正常,就 12306 死活连不上。
排查过程:越看越不像网络问题
这种情况其实挺诡异的:
- APP 能打开,说明基础网络没问题
- 但所有接口请求都失败
- 错误提示还很“统一”(一个编号:3)
这就不像是链路问题,更像是请求在某个固定阶段被拦住了。
往 HTTPS 方向想了一下,基本就有数了。
真正原因:我自己动了系统证书
突然想起来一件旧事。
之前因为 CNNIC 那一波证书信任事件,我当时比较激进,直接把系统里一堆“China”开头的根证书全禁了,图个清净。
平时完全没影响,该翻的翻,该用的用。
但这次,问题来了。
12306 的部分接口,证书链刚好就依赖这些被我禁掉的根证书。
结果就是:
- TLS 握手失败
- HTTPS 建不起来
- APP 直接给你一个“网络错误(3)”
它不说证书问题,也不报 SSL 错误,就一句“检查网络”。
解决方法:把证书放回来
操作很简单:
- 打开手机 安全 / 凭据管理 / 受信任的凭据
- 找到之前被你禁掉的那些“China”开头的证书
- 重新启用
- 重新打开 12306
基本当场恢复正常。
我这边是开完证书,连 APP 都不用重装,直接能登录、刷票。
一点经验教训
这事本质上不是 12306 有问题,也不是网络有问题,是系统信任链被我自己改坏了。
但有几个点挺有意思:
- 12306 的错误提示非常误导人
- 完全没有任何证书/SSL相关信息
- 排查方向很容易跑偏(DNS / 网络 / 代理)
如果你也做过类似操作,比如:
- 禁用系统根证书
- 用过 HTTPS 抓包工具
- 改过系统信任链
遇到这个“(3)错误”,可以直接往证书这块想,别在网络层浪费时间。
12306 APP 网络错误 解决办法
https://blog.mxdyeah.com/post/12306-app-network-error-fix
AD: