如何通过 AntiGate 任务绕过人机验证
新的视频版本的AntiGate任务教程是可用的这里。
经过多年研发之后,我们推出了通用解决方案,帮助您的机器人通过人类建造的人机验证大门。我们称之为“AntiGate”,而这些都是我们工作人员用于执行具体任务的方案模板。
在某个时刻,您的应用会遇到采用某种新人机验证谜题,含混的浏览器脚本或其他新技术的自动化保护“网关”。这种情况下要创建 AntiGate 任务。您要委托我们的某个工作人员创建真人浏览器会话。
- 首先选择模板。可使用现有模板,也可自行创建模板。模板是工作人员逐步执行的一套指令。
- 其次,提供使用模板所需的其他数据,例如要填写的输入值,输入值的 CSS 选择器,或我们应该转到的网址。我们不久就会再讨论模板。
- 第三,设置代理服务器,这是自愿执行的步骤。如果网站将每个会话 Cookie 都与一个具体 IP 地址关联起来,则需要使用代理服务器。
什么是 AntiGate 模板?
AntiGate 模板用于指定我们工作人员将会执行的具体方案。模板中有步骤,所有步骤都会依次执行。一个步骤完成后,工作人员会继续执行下一步骤。所有步骤都执行完毕后,任务即告完成,然后会拍摄工作人员会话快照,并将其送回您的应用。
模板中有哪种步骤?
- 自动或手动填写文本输入字段。
- 等待示例文本显示(或消失)在页面中。
- 等待由 CSS 指定的 DOM 元素显示(或消失)在页面中。
- 等待关键字显示(或消失)在工作人员当前浏览器 URL 地址中。
我们来看一个示例。转到开发中心,然后创建免费模板进行测试。不要担心,什么都不会破坏!
点击即可添加模板
点击即可加载示例
请注意步骤部分
已加载演示示例。可将其保存到自己的帐户中,稍后再对其进行测试。我们来熟悉一下所有模板属性:
- 模板名称.一旦保存,就无法修改。一旦发布,您的模板就会以这个名称出现在 API 中。
- 是Description for customers(面向客户的说明)。我们的模板目录中有公用模板。
- 为工人提供的说明.这就是我们的工人在页面顶部看到的文字。工作人员界面示例
- 变量.这是一个变量名列表,你可以在步骤中添加使用,而不是永久值。在本例中,我们有 2 个变量:"login"(登录)和 "password"(密码)。这两个变量在步骤 1 和 2 中用于填写演示登录表单。这样,您就可以通过 API 提供这些值,而不用在模板中硬编码永久登录名和密码。用在步骤 1 和步骤 2 中的变量
- 工人的步骤.在这里,您可以编辑和更改场景步骤的顺序。在我们的示例中,我们的操作如下:
1.用 CSS 选择器“#login”自动填充文本字段。用于填充文本字段的值由变量“login”指定。
2.用 CSS 选择器“#password”自动填充文本字段。用于填充文本字段的值由变量“password”指定。
3.等待控制文本显示在页面中。已将其永久设置为值“Test passed with login”(已用登录名通过测试)。
现在可以保存模板,然后保存好的模板会出现在开发中心内。请注意其状态为“Sandbox”(沙盒)状态,这意味着该模板只能由您使用,不能在 API 中使用。此后可以试着测试新创建的模板,就像您是自己的工作人员那样测试。
测试模板
目前必须使用 Chrome 浏览器,我们建议在这种浏览器中创建新用户简档,还必须安装我们的插件,插件有权使用新建简档的 Cookie。
工作人员界面示例
然后请在模板卡上点击“test”(测试)按钮。
按照说明为您的平台下载插件。然后,重新加载页面使其生效,在 "登录 "和 "密码 "变量中填入一些随机值,并按下 "启动测试 "按钮。打开的新页面将如下所示:
在地址栏附近,有一个插件在目标页面顶部添加的蓝条。工作人员可通过蓝条了解各自分得的任务,还可以控制任务的执行。
另请注意,用变量填写登录名和密码字段时,登录名和密码字段处于已隐藏状态。这是有意而为。虽然工作人员可通过开发控制台无限制使用任务数据,但 99.99% 的工作人员不会以劳代逸,不会仔细研究幕后的情况。
在地址栏附近,有一个插件在目标页面顶部添加的蓝条。工作人员可通过蓝条了解各自分得的任务,还可以控制任务的执行。
另请注意,用变量填写登录名和密码字段时,登录名和密码字段处于已隐藏状态。这是有意而为。虽然工作人员可通过开发控制台无限制使用任务数据,但 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”。 你的软件需要做的是在该请求中使用 "cookies "来导航到 "url",并至少使用 "fingerprint.self.navigator.userAgent "值作为浏览器的用户代理。更复杂的网站会将重要数据存储在 localStorage 中,这是一种现代版的 cookie。在这种情况下,你需要在实际运行任何 Javascript 之前将这些数据注入页面。这可以在 Puppeteer 等开发环境中完成。这个主题可能值得另撰一篇文章。
自行创建模板
只须按上列步骤操作,但不加载示例模板。要准确填写所有详细信息,然后仔细添加步骤。请注意,所有步骤都依次执行。当前步骤执行完毕之前,不可以通过插件执行下一步。随时均可保存模板,并用工作人员的浏览器插件对其进行测试。
价格
目前我们的定价是每 1000 项任务 2 美元。此外,每一秒任务执行时间的费用都是任务价格的 1/60。例如,任务费用是 0.002 美元,工作人员破解耗时 20 秒。
则最终费用会是 0.00266 美元 = 0.002 + (0.002/60 * 20)。