跳到主要内容
NexCaptcha

验证码类型 · Amazon Web Services

AWS WAF 验证码识别接口

AWS WAF 分可见 CAPTCHA 和静默 Challenge 两种,价格与处理方式不同。接口回传 aws-waf-token,下单时按挑战类型区分即可。

其他叫法aws waf 验证码识别亚马逊 WAF 人机验证aws-waf-token 获取aws waf 静默挑战aws waf 打码 接口

单价
$2.18
每千次
目标站点接受率
98.4%
平均耗时
6.7s
P95 耗时
15.1s

[ 01 ]长什么样

一张带 AWS 标识的卡片,按规则出滑块、旋转或者选图形,通过后自动重发原请求。

[ 02 ]难在哪里

题目是靠页面里的 key、iv、context 三个值启动的,也可能给的是一段 jsapi 脚本地址,这些值每次请求都变,只能实时抓,存不住。出题之前 AWS 先跑一轮 proof-of-work 和静默指纹校验,看得见的那道题只是最后一步。最终要的是 captcha_voucher 加 aws-waf-token,边缘节点会把它绑到发起请求的那个会话上。

[ 03 ]我们怎么做

接口直接用你传来的 key、iv、context 启动,proof-of-work 和题目一次跑完,回传 captcha_voucher 和 aws-waf-token 两项,重发请求时一起带上即可。滑块、旋转、选图形这几套规则各有模型,规则更新后用线上流量重训。WAF 规则同时给 IP 打分时再传 proxy 和 userAgent,公开规则集多数用不上。

[ 02 ]五行代码接入

五行代码接入

提交任务,取回 token。官方 SDK 已把创建、轮询、重试封装成一次调用。

aws-waf-captcha.sh
curl -s https://api.nexcaptcha.net/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "AmazonTaskProxyless",
      "websiteURL": "...",
      "websiteKey": "...",
      "iv": "...",
      "context": "..."
    }
  }'

必需参数

任务类型名
AmazonTaskProxyless
websiteURL
required
websiteKey
required
iv
required
context
required
识别难度
较难

[ 05 ]关于这一项的常见问题

关于这一项的常见问题

每千次 2.18 美元,按识别成功计费,识别失败不计费。返回中位数 6.7 秒,p95 15.1 秒,识别成功率 98.4%。可见题和静默挑战同价,不分开算。

Challenge 动作在后台跑 proof-of-work,页面上不出题;Captcha 动作会出题。两种最后都给一个 token,下一个请求必须带上。接口用同一个任务类型处理,下单时不用自己分。

在被拦截那一次返回的页面 HTML 里,一般在加载 AWS jsapi 的那段内联脚本中。站点只暴露 jsapi 脚本地址时,传脚本地址即可,剩下的由接口推导。三个值都是一次一变,要在被拦的那次响应里当场取。

一般不用,默认的 proxyless 任务就行,token 绑的是挑战会话,不是识别时的 IP。只有你的 WAF 规则同时配了限速或 IP 信誉判断时,才把 proxy 和 userAgent 传过来,让 token 从你的出口产生。

第一千次识别,我们请。

创建密钥,粘进上面的示例代码,看着真实的 token 返回。不用绑卡,没有销售电话。