出现要求确认不是机器人的提示怎么办
播放时弹出「Sign in to confirm you're not a bot」(登录以确认你不是机器人),或者错误报告里出现 AntiBotException——这表示平台限制了一次匿名请求。先明确它不是什么:不是清缓存能治的病,也不是 WebView 该升级的信号。
为什么会触发
播放走的匿名提取路径在被平台风控盯上时就会遇到这类拦截。触发概率与网络环境强相关:某些地区的出口 IP、某些 VPN 节点被大面积标记时,匿名请求更容易被要求验证。这也是它偶尔「换个网络就好了」的原因。
应对顺序
- 先重试一次——偶发拦截重试即过;
- 不行就换网络或换 VPN 出口再试同一个视频;
- 记录当前选的 YouTube 提取端点(提取端点是什么见 播放失败时切换提取端点),换端点是合法的尝试方向;
- 还不行,考虑登录(登录能缓解 IP 类限制,但也有代价——见 什么时候才需要登录)。
取证要点(要反馈的话)
社区文档对这类问题要求的证据非常具体:
- 用同一个公开视频做全部测试;
- 记录网络出口所在地区、以及失败是立即出现还是放了几个视频之后才出现——结果随网络变化是关键证据;
- 登录与否分开测,两组结果都记下来;
- 不要在任何公开场合发 IP 地址、账号信息或 Cookie。
和相邻错误的区分
- 所有视频秒失败且报告里域名解析到 0.0.0.0 / localhost:那是 DNS 过滤,见 DNS 过滤导致所有视频失败;
- 报错是
Source error或缓冲转圈:走 只有个别视频放不出来怎么定位 的播放分支; - 只有个别视频失败而其它正常:直接看 只有个别视频放不出来怎么定位。