为何突然收到HTTP状态码412?Chrome更新后API请求故障排查
Chrome更新后API请求返回412错误的排查与修复方案
核心问题定位
Chrome从112.0.5615.49小版本更新至112.0.5615.50后,API请求返回412 Precondition Failed,调整UA、回滚Chrome/替换WebDriver均未解决问题。
具体修复步骤
修正User-Agent配置
你当前使用的UA字符串'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'存在版本号不精确问题,API可能会校验UA的完整版本信息。直接复制Chrome当前真实UA:- 打开Chrome,访问
chrome://version/ - 复制页面中完整的
User agent字符串替换到你的代码中,不要手动修改版本号
- 打开Chrome,访问
排查412错误的触发细节
412错误本质是请求不满足API的前置校验条件,除UA外,重点检查:- 是否携带
If-Modified-Since/If-None-Match等条件请求头,这类头依赖之前的缓存数据,更新后可能失效,尝试移除或更新对应值 - 确认请求头是否包含
Sec-Ch-Ua/Sec-Ch-Ua-Mobile/Sec-Ch-Ua-Platform等现代浏览器标识,Chrome小版本更新可能会改变这些头的内容,需保证请求头与真实Chrome浏览器发送的完全一致 - 校验请求的JSON数据格式、编码是否与之前正常运行时完全一致,排除环境更新导致的编码或格式变化
- 是否携带
WebDriver适配说明
Chrome WebDriver的主版本(如112.x)完全兼容同大版本下的所有小版本(112.0.5615.49/50),无需等待新版WebDriver,只要你使用的是112版本的WebDriver,驱动本身不是问题。Chrome回滚的可靠操作
若需强制回滚到旧版本:- 完全卸载当前Chrome,同时删除用户数据目录
C:\Users\[你的用户名]\AppData\Local\Google\Chrome - 使用对应版本的离线安装包进行安装(注意选择官方可信的安装源)
- 彻底禁用自动更新:
- 组策略:打开
gpedit.msc,依次进入计算机配置>管理模板>Google>Google Chrome>更新>更新策略覆盖,设置为禁用自动更新 - 注册表:在
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome路径下,新建DWORD值AutoUpdateCheckPeriodMinutes,赋值为0
- 组策略:打开
- 完全卸载当前Chrome,同时删除用户数据目录
内容的提问来源于stack exchange,提问作者skip9110
相关产品推荐
相关产品推荐

