Explainers

验证码本地化:语言设置如何影响挑战

同一个网站向一位访问者显示英语的 reCAPTCHA 挑战,向另一位访问者显示日语的 reCAPTCHA 挑战。 Cloudflare Turnstile 小部件以浏览器语言呈现其加载文本。有些网站根据访问者检测到的区域提供完全不同的验证码类型。了解本地化如何影响验证码有助于您在自动化中正确处理它们。

区域设置有何变化

验证码提供商 什么本地化 什么保持不变
验证码 UI文本、图像标签、音频语言 Sitekey、验证流程、token格式
旋转门 小部件文本和错误消息 Sitekey、token格式、解决机制
h验证码 挑战说明、类别标签 Sitekey、令牌格式
图片/OCR 字符集、文本语言 图片格式,提交/poll流程

如何检测语言

验证码提供商通过多种信号确定语言:

1. Accept-Language 标头

Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7

这告诉服务器:首选日语(日本),然后是英语(美国),然后是通用英语。 reCAPTCHA 和 Turnstile 使用它来选择 UI 语言。

2. HTML hl 参数

reCAPTCHA 在加载时接受显式语言参数:

<!-- Force English reCAPTCHA -->
<script src="https://www.google.com/recaptcha/api.js?hl=en"></script>

<!-- Force Japanese -->
<script src="https://www.google.com/recaptcha/api.js?hl=ja"></script>

hl 参数覆盖 Accept-Language 标头。求解时,您不需要匹配此 — CaptchaAI 会返回一个标记,无论 UI 语言如何。

3.地理IP位置

一些验证码配置因地区而异:

信号 影响
来自中国的IP 可能会得到 GeeTest 而不是 reCAPTCHA(reCAPTCHA 在中国被屏蔽)
来自欧盟的知识产权 可能会在验证码之前看到 GDPR 同意
来自限制区域的 IP 可能会面临更严峻的挑战

4.浏览器navigator.language

基于 JavaScript 的验证码读取浏览器的语言:

navigator.language       // "en-US"
navigator.languages      // ["en-US", "en", "ja"]

在无头浏览器中,这些默认为系统区域设置。明确设置它们以匹配您的目标:

// Playwright
const context = await browser.newContext({
  locale: 'ja-JP',
});

// Puppeteer
const page = await browser.newPage();
await page.setExtraHTTPHeaders({
  'Accept-Language': 'ja-JP,ja;q=0.9',
});

对求解的影响

基于令牌的验证码(reCAPTCHA、Turnstile、hCaptcha)

语言设置影响UI,但不影响令牌。 CaptchaAI 的求解过程与语言无关:

  • 提交站点密钥和页面 URL
  • CaptchaAI 返回有效令牌
  • 无论验证码小部件显示哪种语言,令牌都有效

为基于令牌的验证码调用 CaptchaAI 时不需要语言参数。

图片验证码

语言直接影响图像中的人物:

网站语言 验证码内容 CaptchaAI 语言参数
英语 “输入文字:XKCD42” 0(默认/Latin)
俄语 “ШКАФ” 1(西里尔字母)或 2
中国人 "请输入验证码: 汉字" 2(非拉丁语)
阿拉伯 ” ????????????????????????????????????????????????????????? 2(非拉丁语)
日本人 “文字を入力:ひらがな” 2(非拉丁语)

音频验证码

reCAPTCHA 音频挑战以与 hl 参数或 Accept-Language 标头匹配的语言进行。 CaptchaAI 通过其标准 reCAPTCHA 解决流程来处理这些问题 - 解决方法不依赖于音频语言。

常见本地化问题

抓取器和目标之间的语言不匹配

如果您的抓取工具将 Accept-Language: en-US 发送到日语网站,则验证码可能会以英语呈现 - 这对于基于令牌的验证码来说很好,但如果网站验证语言一致性,则可能会导致问题。

区域验证码提供商差异

一些国家/地区使用不同的验证码提供商:

地区 典型提供商
西方市场 reCAPTCHA、Turnstile、hCaptcha
中国 GeeTest、腾讯验证码、自定义图片
俄罗斯/CIS 自定义图像验证码、reCAPTCHA
韩国 自定义滑块、图像验证码

故障排除

问题 原因 处理方式
reCAPTCHA 显示的语言与预期不同 脚本标记中的 hl 参数与 Accept-Language 不匹配 令牌与语言无关——不影响解决
图像验证码识别出错误的字符 语言参数与验证码脚本不匹配 为非拉丁验证码设置 language=2
网站按地区提供不同的验证码类型 基于地理 IP 的提供商选择 使用与目标区域匹配的代理
无头浏览器显示错误的区域设置 使用的默认系统区域设置 在浏览器上下文中显式设置区域设置
采用意想不到的语言的音频验证码 hl 参数覆盖标头 不影响CaptchaAI基于代币的解决

常问问题

CaptchaAI 需要知道验证码的显示语言吗?

对于基于令牌的验证码(reCAPTCHA、Turnstile、hCaptcha),否。求解过程与语言无关。对于 Image/OCR 验证码,是 — 设置 language 参数以匹配图像中显示的字符集。

我应该将 Accept-Language 标头与目标站点相匹配吗?

这是保持一致性的好习惯。一些站点会检查标头和其他信号之间的语言不匹配。设置您的 Accept-Language 标头以匹配网站的主要语言,以最大限度地降低检测风险。

相同的站点密钥可以根据区域设置显示不同的验证码难度吗?

是的。验证码提供商可能会根据区域风险评分调整难度。来自某些地区的流量可能面临更严峻的挑战。这并不影响 CaptchaAI 的解决——API 可以处理任何难度的挑战。

下一步

在任何语言环境中处理验证码 —获取您的 CaptchaAI API 密钥并正确配置语言设置。

相关指南:

该文章已禁用评论。

相关文章

DevOps & Scaling 用于 CaptchaAI Worker 部署的 Ansible Playbook
使用 Captcha AI Worker 部署 Ansible Playbook 的 Dev Ops 指南,包括生产中 Captcha AI 工作流程的架构决策、操作注意事项和自动化模式。

使用 Captcha AI Worker 部署 Ansible Playbook 的 Dev Ops 指南,包括生产中 Captcha AI 工作流程的架构决策、操作注...

Apr 19, 2026
DevOps & Scaling AWS Lambda + CaptchaAI:无服务器验证码解决
AWS Lambda + Captcha AI 的开发运营指南:无服务器验证码解决方案,包含生产中 Captcha AI 工作流程的架构决策、操作注意事项和自动化模式。

AWS Lambda + Captcha AI 的开发运营指南:无服务器验证码解决方案,包含生产中 Captcha AI 工作流程的架构决策、操作...

Apr 21, 2026
Comparisons 最佳验证码解决服务比较(2025 年)
最佳验证码解决服务比较(2025 年)的实际比较,重点关注 Captcha AI 的成本、准确性、速度和集成工作方面的差异。

最佳验证码解决服务比较(2025 年)的实际比较,重点关注 Captcha AI 的成本、准确性、速度和集成工作方面的差异。

Apr 24, 2026