如何通过 AntiGate 任务绕过人机验证
新的视频版本的AntiGate任务教程是可用的这里。
经过多年研发之后,我们推出了通用解决方案,帮助您的机器人通过人类建造的人机验证大门。我们称之为“AntiGate”,而这些都是我们工作人员用于执行具体任务的方案模板。

在某个时刻,您的应用会遇到采用某种新人机验证谜题,含混的浏览器脚本或其他新技术的自动化保护“网关”。这种情况下要创建 AntiGate 任务。您要委托我们的某个工作人员创建真人浏览器会话。
- 首先选择模板。可使用现有模板,也可自行创建模板。模板是工作人员逐步执行的一套指令。
- 其次,提供使用模板所需的其他数据,例如要填写的输入值,输入值的 CSS 选择器,或我们应该转到的网址。我们不久就会再讨论模板。
- 第三,设置代理服务器,这是自愿执行的步骤。如果网站将每个会话 Cookie 都与一个具体 IP 地址关联起来,则需要使用代理服务器。
什么是 AntiGate 模板?
AntiGate 模板用于指定我们工作人员将会执行的具体方案。模板中有步骤,所有步骤都会依次执行。一个步骤完成后,工作人员会继续执行下一步骤。所有步骤都执行完毕后,任务即告完成,然后会拍摄工作人员会话快照,并将其送回您的应用。
模板中有哪种步骤?
- 自动或手动填写文本输入字段。
- 等待示例文本显示(或消失)在页面中。
- 等待由 CSS 指定的 DOM 元素显示(或消失)在页面中。
- 等待关键字显示(或消失)在工作人员当前浏览器 URL 地址中。
我们来看一个示例。转到开发中心,然后创建免费模板进行测试。不要担心,什么都不会破坏!



已加载演示示例。可将其保存到自己的帐户中,稍后再对其进行测试。我们来熟悉一下所有模板属性:
- Template name(模板名称)。保存完毕后不能修改模板名称。发布模板后,可通过此名称在 API 中使用模板。
- 是Description for customers(面向客户的说明)。我们的模板目录中有公用模板。
- Description for workers(面向工作人员的说明)。这是我们工作人员可在页面顶部看到的文本。 工作人员界面示例
- Variables(变量)。这是可添加的变量名称的清单,用于在步骤中替代常设值。此例中有两个变量,即“login”和“password”。这两个变量用于在步骤 1 和步骤 2 中填写演示登录窗体。这样可通过 API 提供这些值,而不是在模板中通过硬编码设定常设登录名和密码。 用在步骤 1 和步骤 2 中的变量
- Worker's steps(工作人员的步骤)。可在此处编辑及更改方案步骤顺序。在我们的示例中,我们执行以下步骤:
1.用 CSS 选择器“#login”自动填充文本字段。用于填充文本字段的值由变量“login”指定。
2.用 CSS 选择器“#password”自动填充文本字段。用于填充文本字段的值由变量“password”指定。
3.等待控制文本显示在页面中。已将其永久设置为值“Test passed with login”(已用登录名通过测试)。
现在可以保存模板,然后保存好的模板会出现在开发中心内。请注意其状态为“Sandbox”(沙盒)状态,这意味着该模板只能由您使用,不能在 API 中使用。此后可以试着测试新创建的模板,就像您是自己的工作人员那样测试。
测试模板
目前必须使用 Chrome 浏览器,我们建议在这种浏览器中创建新用户简档,还必须安装我们的插件,插件有权使用新建简档的 Cookie。

然后请在模板卡上点击“test”(测试)按钮。

按说明操作并下载适用于您平台的插件。然后重新加载其相应页面使其生效,用随机值填写“登录名”和“密码”变量,并按“Launch Test”(发起测试)按钮。会打开一个新页面,看似如下页面:

另请注意,用变量填写登录名和密码字段时,登录名和密码字段处于已隐藏状态。这是有意而为。虽然工作人员可通过开发控制台无限制使用任务数据,但 99.99% 的工作人员不会以劳代逸,不会仔细研究幕后的情况。
破解 Recaptcha 谜题时按“Sign In”(登录)按钮。会通过模板“WAIT_CONTROL_TEXT_PRESENT”的最后一步的测试。插件会搜索控制短语“Test passed with login”(已用登录名通过测试),其定义永远都会在模板中。会自动关闭相应标签页,还会在结果区域中显示会话快照。

可通过 API 获得同样的快照数据。但是,要使模板可在 API 中使用,首先必须发布模板。
发布模板
备选模板发布方式有 2 种:使其成为专用或公用模板。
- 专用模板仅可通过 API 密钥使用。其他客户不能使用专用模板。审核和发布费用:1 美元。
- 公用模板谁都能使用。通过这种模板,您会赚取每个客户的费用的 %5。如果您的模板出错,则必须留下联系信息,以便我们的客户寻求您的帮助。审核和发布费用:1 美元。
我们仔细审核所有模板。必须满足某些基本要求,才能成功改用投产模式:
- 没有任何一种非法活动。
- 模板不得与现有模板重复。
- 不要提交仿制或测试模板。
- 要提供示例网址和变量值接受审核。我们会发起测试,必须成功完成所有步骤。
API 请求
对于上述 AntiGate 模板,向 API 发出的任务创建请求会很简单,看似如下请求:
curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
"clientKey":"YOUR_API_KEY",
"task":
{
"type":"AntiGateTask",
"websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
"templateName":"Demo sign-in at anti-captcha.com #123456",
"variables": {
"login":"some value",
"password":"some value"
}
}
}' https://api.anti-captcha.com/createTask
也就是说,要传递将在模板中填写的“templateName”和“variables”参数。
使用任务执行结果
成功完成 AntiGate 任务后会显示破解方法,包括“Cookie”、“localStorage”、“fingerprint”和“url”。 您的软件必须执行的操作是用此请求中的“Cookie”转到“url”,并且至少对浏览器的用户代理程序使用“fingerprint.self.navigator.userAgent”值。比较复杂的网站可将重要数据存入 localStorage,这是一种新版 Cookie。这种情况下,必须先将这些数据注入页面,然后再实际运行 Javascript。可在 Puppeteer 之类的开发环境中执行上述操作。对于此主题,很可能应该再写一篇文章。
自行创建模板
只须按上列步骤操作,但不加载示例模板。要准确填写所有详细信息,然后仔细添加步骤。请注意,所有步骤都依次执行。当前步骤执行完毕之前,不可以通过插件执行下一步。随时均可保存模板,并用工作人员的浏览器插件对其进行测试。
价格
目前我们的定价是每 1000 项任务 2 美元。此外,每一秒任务执行时间的费用都是任务价格的 1/60。例如,任务费用是 0.002 美元,工作人员破解耗时 20 秒。
则最终费用会是 0.00266 美元 = 0.002 + (0.002/60 * 20)。
结束语
2021 年 12 月撰写此文章时,此功能仍处于测试状态。对于 AntiGate,请尽管在支持请求中发表评论和建议。