验证码求解器免费试用:先测试,再付费
是的,你可以免费试用验证码求解器。注册账户,即可获得免费试用额度,无需信用卡。试用的目的,是让你在花费任何费用之前,先在自己的目标网站上验证 token 能否正常工作。本指南说明试用涵盖哪些内容,应先测试什么,以及目前哪些验证码类型可以求解。
Scarnox 目前支持 PopularCaptcha 的求解,包括无代理以及使用自有代理两种方式。reCAPTCHA、Cloudflare Turnstile、AWS WAF、GeeTest 和 Arkose 等其他验证码类型即将推出。试用涵盖的是已上线的类型,因此请用 PopularCaptcha 进行测试。
试用涵盖的内容
- 无代理的 PopularCaptcha。 默认的任务类型。它运行在 Scarnox 自己的网络上,是确认流程是否可用的最快方式。
- 使用自有代理的 PopularCaptcha。 用于检查某个网站是否将 token 与 IP 地址绑定。
- 无感 PopularCaptcha。 当组件没有复选框时,在请求中将
is_invisible设为true。 - 失败的求解不收费。 你只为成功的求解付费,因此失败的测试运行不会消耗任何额度。
应该先测试什么
在构建任何大型项目之前,请用试用回答以下四个问题:
- sitekey 正确吗? 从页面读取它,求解一次,并确认返回的是 token 而不是错误。
- 网站接受这个 token 吗? 将 token 放入表单字段并提交。下一个页面应当正常加载。
- 你的时间安排可行吗? 调用会阻塞直到 token 准备好,因此没有轮询循环。将超时设为约 185 秒,并确认求解能在该时间窗口内完成。
- 你的错误处理可行吗? 故意提供一个错误的 sitekey,确认你的代码会记录失败并停止重试。
一个今天就能运行的冒烟测试
这个脚本执行一次求解,并打印 token 的前几个字符。先在环境变量中设置密钥:
export SCARNOX_KEY="scarnox_YOURAPIKEY"
import os
import requests
API_URL = "https://api.scarnox.com/api/tasks/create"
def smoke_test(sitekey: str, page_url: str) -> None:
r = requests.post(
API_URL,
headers={"Authorization": f"Bearer {os.environ['SCARNOX_KEY']}"},
json={
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": sitekey,
"site_url": page_url,
},
timeout=185, # 调用会阻塞直到 token 准备好
)
data = r.json()
if data.get("errorId") != 0:
print("failed:", data.get("errorCode"), data.get("errorDescription"))
return
print("token ok:", data["solution"]["token"][:40], "...")
if __name__ == "__main__":
smoke_test("10000000-ffff-ffff-ffff-000000000001", "https://example.com/signup")
请将 sitekey 和 URL 替换为你自己拥有或获准测试的页面。如果 token 能够打印出来,说明流程可用。如果失败,错误文本会告诉你需要修复什么。
对 token 的预期
token 约在两分钟内过期,因此请立即使用。求解成功时,响应中的 errorId 为 0,token 位于 solution.token 中。当 errorId 不为 0 时,响应会包含 errorCode 和 errorDescription。失败的求解不收费,因此在测试中尝试不同的 sitekey 和 URL,只会消耗时间,而不会产生费用。
常见问题
需要信用卡吗? 不需要。注册账户,即可获得免费试用额度,无需信用卡。
可以测试其他验证码类型吗? 目前还不行。reCAPTCHA、Cloudflare Turnstile、AWS WAF、GeeTest 和 Arkose 的支持即将推出。对应类型的指南会解释它们的工作方式以及你可以期待的内容。例如,可以参阅 Cloudflare Turnstile 指南和 reCAPTCHA v2 指南。
试用结束之后怎么办? 继续使用同一个密钥和同样的请求格式即可。大规模求解的费用,请查看当前定价,其内容始终是最新的。
有代理选项吗? 有,适用于 PopularCaptcha。当网站将 token 与 IP 绑定时,可以发送你自己的代理。代理对比说明了何时应当使用代理。
从试用转向生产
冒烟测试通过之后,请将密钥移入你的密钥管理服务,然后构建其余流程:
- 每次运行时从页面读取 sitekey,而不是硬编码。
- 为每个求解请求设置约 185 秒的超时。
- 加入错误处理与退避中的重试策略。
- 不要让密钥出现在日志或源代码管理中。
离开试用之前的检查清单
在进入生产环境之前,请逐项确认一次:
- 在你自己拥有的页面上,一次真实求解返回了 token。
- 表单接受了该 token,并且下一个页面成功加载。
- 一次失败的求解产生了清晰的错误,并且被你的代码记录了下来。
- 求解请求的超时至少为 185 秒。
- 密钥保存在密钥管理器中,而不是代码里。
- 你的重试策略会在需要人工修复的失败上停止。
在对真实目标运行任务之前,每一项都要确认。如果某一项不通过,请在测试阶段就修复,确保任何真实目标都不会遇到有问题的版本。
试用无法说明的问题
试用只能证明流程在你测试的网站上可以运行,并不能证明所有网站的表现都一样。验证码服务商会更改组件,网站处理 token 的方式也各不相同。在依赖某个新目标之前,请先对其进行测试,并为每个目标保留一个冒烟测试,这样一旦发生变化就能尽快发现。
下一步
- 使用 Python 求解 PopularCaptcha
- 在 Playwright 与 Puppeteer 中求解 PopularCaptcha
- 如何在任意页面上找到验证码 sitekey
- 让 CI 保持通过:应用中有验证码时的端到端测试
注册账户,即可获得免费试用额度,无需信用卡。