Scarnox · Blog

验证码求解器免费试用:先测试,再付费

是的,你可以免费试用验证码求解器。注册账户,即可获得免费试用额度,无需信用卡。试用的目的,是让你在花费任何费用之前,先在自己的目标网站上验证 token 能否正常工作。本指南说明试用涵盖哪些内容,应先测试什么,以及目前哪些验证码类型可以求解。

Scarnox 目前支持 PopularCaptcha 的求解,包括无代理以及使用自有代理两种方式。reCAPTCHA、Cloudflare Turnstile、AWS WAF、GeeTest 和 Arkose 等其他验证码类型即将推出。试用涵盖的是已上线的类型,因此请用 PopularCaptcha 进行测试。

试用涵盖的内容

应该先测试什么

在构建任何大型项目之前,请用试用回答以下四个问题:

  1. sitekey 正确吗? 从页面读取它,求解一次,并确认返回的是 token 而不是错误。
  2. 网站接受这个 token 吗? 将 token 放入表单字段并提交。下一个页面应当正常加载。
  3. 你的时间安排可行吗? 调用会阻塞直到 token 准备好,因此没有轮询循环。将超时设为约 185 秒,并确认求解能在该时间窗口内完成。
  4. 你的错误处理可行吗? 故意提供一个错误的 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 绑定时,可以发送你自己的代理。代理对比说明了何时应当使用代理。

从试用转向生产

冒烟测试通过之后,请将密钥移入你的密钥管理服务,然后构建其余流程:

离开试用之前的检查清单

在进入生产环境之前,请逐项确认一次:

在对真实目标运行任务之前,每一项都要确认。如果某一项不通过,请在测试阶段就修复,确保任何真实目标都不会遇到有问题的版本。

试用无法说明的问题

试用只能证明流程在你测试的网站上可以运行,并不能证明所有网站的表现都一样。验证码服务商会更改组件,网站处理 token 的方式也各不相同。在依赖某个新目标之前,请先对其进行测试,并为每个目标保留一个冒烟测试,这样一旦发生变化就能尽快发现。

下一步

注册账户,即可获得免费试用额度,无需信用卡。