Article / 文章中心

手把手教你如何通过datadome滑块验证码

发布时间:2023-07-03 点击数:1377

什么是DataDome?

DataDome是一家专注于为网站、移动应用和API提供机器人保护的安全公司。它使用人工智能(AI)和机器学习算法分析流量模式,识别类似机器人的行为。其目标是保护企业免受各种有害机器人活动的影响,如内容抓取、账户接管、欺诈交易、统计数据扭曲等。

DataDome旨在检测和阻止甚至模仿人类行为的复杂机器人。它提供实时保护,以毫秒为单位作出决策,阻止有害机器人的访问,而不会影响合法用户的使用体验。

该公司的解决方案易于实施,并可与各种平台、系统和网页服务器集成。它提供详细的分析数据,帮助企业了解他们面临的机器人流量的性质和范围。

DataDome CAPTCHA是DataDome用于区分人类用户和机器人的工具之一。 CAPTCHA即"Completely Automated Public Turing test to tell Computers and Humans Apart"(全自动公共图灵测试,以区分计算机和人类)的缩写。这是一种旨在易于人类通过但对机器人难以通过的测试。

当DataDome的系统检测到可能表示机器人的可疑活动时,它可以触发CAPTCHA挑战。用户必须通过CAPTCHA来证明自己是人类而不是机器人。

DataDome CAPTCHA挑战可能看起来像这个代表:

在这个代表中,用户被呈现一个CAPTCHA图像和一个滑块按钮,用户必须完成这个拼图。成功完成CAPTCHA后,用户可以继续访问网站。如果他们失败或者CAPTCHA没有完成,系统可能会拒绝访问或者提供另一个CAPTCHA挑战。

总之,DataDome是一个综合的机器人保护解决方案,使用AI和机器学习来识别和阻止有害的机器人活动。它的CAPTCHA挑战是其验证用户是否是人类还是机器人的工具之一,有助于保护其所保护的网站的安全和完整性。

在本博客中,我们将重点介绍如何解决Datadome Captcha。
如何解决DataDome Captcha

在我们开始解决DataDome之前,有些要求和要点需要知道。

要求:

    Capsolver密钥

    代理(建议使用https://metaproxies.net/)

需要知道的要点:

    验证码url的查询参数是动态获取的。这意味着您不能一次又一次地发送静态CAPTCHA url。

查询参数是加粗字体:https://geo.captcha-delivery.com/captcha/?initialCid=yourInitialCid&cid=yourCid&t=fe&referer=https%3A%2F%2Fantoinevastel.com%2Fbots%2Fdatadome&s=YourSParam&e=youreParam在第一个GET中获得此验证码。

    查询参数t需要具有t=fe的值,如果有t=bv,则表示captchaUrl被禁止,并且不能提交。

    匹配chrome版本的TLS、标头和标头顺序。

    匹配用于解决验证码与交互页面的代理。

为了解决DataDome验证码,请遵循我们的文档。某些参数是必需的,某些是可选的。对于此示例,我们仅使用必需的参数。Datadome的任务类型包括:

DatadomeSliderTask:此任务类型需要您自己的代理。

对于这个示例,我们将使用DatadomeSliderTask作为该网站使用Datadome验证码。

如果缺少任何参数,您可能会遇到令牌无法被网站接受的问题。

文档中需要使用的第一种方法是createTask。此方法需要图片的参数,其中一些是必需的,一些是可选的,具体取决于我们要使用的网站。

步骤1:提交信息到capsolver

使用createTask方法提交信息:

    POST https://api.capsolver.com/createTask
     
    {
        "clientKey": "Your_API_KEY",
        "task": {
            "type": "DatadomeSliderTask",
            "websiteURL": "https://antoinevastel.com/bots/datadome",
            "captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=yourInitialCid&cid=yourCid&t=fe&referer=https%3A%2F%2Fantoinevastel.com%2Fbots%2Fdatadome&s=YourSParam&e=youreParam",
            "proxy": "yourproxy",
            "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
        }
    }

步骤2:获取结果

要验证结果,您需要不断轮询getTaskResult API端点,直到验证码解决为止。

以下是示例请求:

    POST https://api.capsolver.com/getTaskResult
    Host: api.capsolver.com
    Content-Type: application/json
     
    {
        "clientKey":"YOUR_API_KEY",
        "taskId": "TASKID_OF_CREATETASK" //createTask方法创建的ID
    }

一旦验证码成功解决,您将收到类似于以下图像中所示的响应:

您可以通过将响应的数据与datadome cookie一起提交到相关网站来验证接收到的验证码令牌。