Index

Загрузите примеры клиентских примеров API:

Поддержка устаревшей API Recaptcha

Что такое «устаревшая/устаревшая reCAPTCHA/noCAPTCHA»?

Существуют устаревшие/устаревшие проблемы с recaptcha, которые обычно требуют от пользователя идентифицировать и нажимать на определенные изображения. Их не следует путать с традиционными словами/номерами Recaptchas (у них нет изображений).

Для вашего удобства мы реализовали поддержку Legacy/устаревшего API Recaptcha. Если ваше программное обеспечение работает с ним и поддерживает минимальную конфигурацию, вы должны быть способны расшифровать капчи, используя Death by Captcha в кратчайшие сроки.

Мы предоставляем два разных типа устаревшей API Recaptcha:

  • Coordinates API: При условии, что снимки экрана, API возвращает группу координат, чтобы щелкнуть.
  • Image Group API: Предоставляя группу (BASE64-кодированных) изображений, API возвращает индексы изображений, чтобы щелкнуть.

Ценообразование

В настоящее время цена составляет $ 3,99/1K Новые проблемы Recaptcha правильно решаются. Вам не будет выставлен счет за изображения, о которых сообщалось как неправильно решаемые. Обратите внимание, что эта цена применяется только к новым изображениям reCAPTCHA / noCAPTCHA, поэтому только клиенты, использующие этот конкретный API, будут взиматься выше.

Ограничения загрузки изображения.

Размер файла изображения ограничен менее чем 180 КБ . Когда изображение будет кодируется в Base64, размер должен быть ниже, чем 120 КБ . Поддерживаемые форматы изображений - JPG, PNG, GIF и BMP .

FAQ API Координаты:

Что есть координирует URL API ?

Для использования координат API вам придется отправить запрос на сообщение HTTP на http://api.dbcapi.me/api/captcha

Каковы параметры Post для координат API ?

Это:

  • username: Имя пользователя учетной записи вашей учетной записи DBC
  • password: Ваша пароль учетной записи DBC
  • captchafile: Содержимое файла в кодировке Base64 или многокомпонентное содержание файла с действительным скриншотом устаревшей/устаревшей Recaptcha
  • type=2: Тип 2 указывает, что это устаревшее/устаревшее API координат Recaptcha
Какой ответ от координат API?

captcha: id предоставленной капчи, если поле текст пустое, вам придется запрашивать url http://api.dbcapi.me/api/captcha/captcha_id, пока она не станет доступной

is_correct: (0 или 1) Указание, была ли капча помечена как неправильная или нечитаемая

text: вложенный список, похожий на JSON, со всеми координатами (x, y), чтобы щелкнуть относительно изображения, например:

    [[23.21, 82.11]]

где координата x составляет 23,21, а координата Y составляет 82.11

Использование координат API с клиентами API:


    /**
     * Death by Captcha PHP API newrecaptcha_coordinates usage example
     *
     * @package DBCAPI
     * @subpackage PHP
     */

    /**
     * DBC API clients
     */
    require_once '../deathbycaptcha.php';

    $username = "username";  // DBC account username
    $password = "password";  // DBC account password
    $token_from_panel = "your-token-from-panel";  // DBC account authtoken

    // Use DeathByCaptcha_SocketClient() class if you want to use SOCKET API.
    $client = new DeathByCaptcha_HttpClient($username, $password);
    $client->is_verbose = true;

    // To use token the first parameter must be authtoken.
    // $client = new DeathByCaptcha_HttpClient("authtoken", $token_from_panel);

    echo "Your balance is {$client->balance} US cents\n";

    $captcha_filename = "../images/test.jpg";  // your image here
    $extra = [
        'type' => 2  // captcha_type
    ];

    // Put your CAPTCHA image file name, file resource, or vector of bytes,
    // and optional solving timeout (in seconds) here; you'll get CAPTCHA
    // details array on success.
    if ($captcha = $client->decode($captcha_filename, $extra)) {
        echo "CAPTCHA {$captcha['captcha']} uploaded\n";

        sleep(DeathByCaptcha_Client::DEFAULT_TIMEOUT);

        // Poll for CAPTCHA coordinates:
        if ($text = $client->get_text($captcha['captcha'])) {
            echo "CAPTCHA {$captcha['captcha']} solved: {$text}\n";

            // Report an incorrectly solved CAPTCHA.
            // Make sure the CAPTCHA was in fact incorrectly solved!
            //$client->report($captcha['captcha']);
        }
    }

    

    # new recaptcha coordinates
    import deathbycaptcha

    # Put your DBC account username and password here.
    username = "user"
    password = "password"

    # you can use authtoken instead of user/password combination
    # activate and get the authtoken from DBC users panel
    authtoken = "authtoken"

    # to use socket client
    # client = deathbycaptcha.SocketClient(username, password)

    # to use authtoken
    # client = deathbycaptcha.SocketClient(username, password, authtoken)

    client = deathbycaptcha.HttpClient(username, password)

    captcha_file = '../images/test.jpg'  # image

    try:
        balance = client.get_balance()
        print(balance)

        # Put your CAPTCHA file name or file-like object, and optional
        # solving timeout (in seconds) here:
        captcha = client.decode(captcha_file, type=2)
        if captcha:
            # The CAPTCHA was solved; captcha["captcha"] item holds its
            # numeric ID, and captcha["text"] item its list of "coordinates".
            print("CAPTCHA %s solved: %s" % (captcha["captcha"],
                                             captcha["text"]))

            if '':  # check if the CAPTCHA was incorrectly solved
                client.report(captcha["captcha"])
    except deathbycaptcha.AccessDeniedException:
        # Access to DBC API denied, check your credentials and/or balance
        print("error: Access to DBC API denied, check your credentials
                and/or balance")

    

    import com.DeathByCaptcha.AccessDeniedException;
    import com.DeathByCaptcha.Client;
    import com.DeathByCaptcha.HttpClient;
    import com.DeathByCaptcha.SocketClient;
    import com.DeathByCaptcha.Captcha;

    import java.io.IOException;

    class ExampleRecaptchaCoordinates {
        public static void main(String[] args)
                throws Exception {

            // Put your DBC username & password or authtoken here:
            String username = "your_username_here";
            String password = "your_password_here";
            String authtoken = "your_authtoken_here";

            String filename = "src/images/test.jpg";

            /* Death By Captcha Socket Client
               Client client = (Client) (new SocketClient(username, password));
               Death By Captcha http Client */
            Client client = (Client) (new HttpClient(username, password));
            client.isVerbose = true;

            /* Using authtoken
            Client client = (Client) new HttpClient(authtoken); */

            try {
                try {
                    System.out.println("Your balance is " + client.getBalance() + " US cents");
                } catch (IOException e) {
                    System.out.println("Failed fetching balance: " + e.toString());
                    return;
                }

                Captcha captcha = null;
                try {
                    /* Upload a CAPTCHA and poll for its status with 120 seconds timeout.
                       Put you CAPTCHA image file name, file object, input stream, or
                       vector of bytes, and solving timeout (in seconds) if 0 the default value take place.
                       please note we are specifying type=2 in the second argument */
                    captcha = client.decode(filename, 2, 0);
                } catch (IOException e) {
                    System.out.println("Failed uploading CAPTCHA");
                    return;
                }
                if (null != captcha) {
                    System.out.println("CAPTCHA " + captcha.id + " solved: " + captcha.text);

                    /* Report incorrectly solved CAPTCHA if necessary.
                       Make sure you've checked if the CAPTCHA was in fact incorrectly
                       solved, or else you might get banned as abuser. */
                    /*try {
                        if (client.report(captcha)) {
                            System.out.println("Reported as incorrectly solved");
                        } else {
                            System.out.println("Failed reporting incorrectly solved CAPTCHA");
                        }
                    } catch (IOException e) {
                        System.out.println("Failed reporting incorrectly solved CAPTCHA: " + e.toString());
                    }*/
                } else {
                    System.out.println("Failed solving CAPTCHA");
                }
            } catch (com.DeathByCaptcha.Exception e) {
                System.out.println(e);
            }

        }
    }

    

    // new recaptcha coordinates

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class RecaptchaCoordinatesExample
        {
            public void Main()
            {
                // Put your DeathByCaptcha account username and password here.
                string username = "your username";
                string password = "your password";
                // string token_from_panel = "your-token-from-panel";

                string filename = "./images/test.jpg";
                /* Death By Captcha Socket Client
                   Client client = (Client) new SocketClient(username, password);
                   Death By Captcha http Client */
                Client client = (Client) new HttpClient(username, password);

                /* To use token authentication the first parameter must be "authtoken".
                Client client = (Client) new HttpClient("authtoken", token_from_panel); */

                try
                {
                    double balance = client.GetBalance();

                    /* Put your CAPTCHA file name, or file object,
                       or arbitrary stream, or an array of bytes,
                       and optional solving timeout (in seconds) here:
                    */
                    Captcha captcha = client.Decode(filename, 0, new Hashtable()
                    {
                        {"type", 2}
                    });

                    if (null != captcha)
                    {
                        /* The CAPTCHA was solved; captcha.Id property holds
                        its numeric ID, and captcha.Text holds its text. */
                        Console.WriteLine("CAPTCHA {0} solved: {1}", captcha.Id,
                            captcha.Text);

                        // if ( /* check if the CAPTCHA was incorrectly solved */)
                        //{
                        //client.Report(captcha);
                        //}
                    }
                }
                catch (AccessDeniedException e)
                {
                    /* Access to DBC API denied, check your credentials and/or balance */
                    Console.WriteLine("<<< catch : " + e.ToString());
                }
            }
        }
    }

    

    Imports DeathByCaptcha

    Public Class NewRecaptchaCoordinates
        Sub Main(args As String())

            ' Put your DBC username & password or authtoken here:
            Dim username = "username"
            Dim password = "password"
            Dim token_from_panel = "your-token-from-panel"

            ' DBC Socket API client
            ' Dim client As New SocketClient(username, password)
            ' DBC HTTP API client
            Dim client As New HttpClient(username, password)

            ' To use token auth the first parameter must be "authtoken"
            ' Dim client As New HttpClient("authtoken", token_from_panel)

            Dim filename = "./images/test.jpg"

            Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
                                            client.Balance))

            ' Create the extra data with type
            Dim extraData as new Hashtable()
            extraData.Add("type", 2)

            ' Upload a CAPTCHA and poll for its status.  Put the Token CAPTCHA
            ' Json payload, CAPTCHA type and desired solving timeout (in seconds)
            ' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
            Dim captcha As Captcha = client.Decode(filename,
                                                   DeathByCaptcha.Client.DefaultTimeout,
                                                   extraData)
            If captcha IsNot Nothing Then
                Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}", captcha.Id,
                                                captcha.Text))

                ' Report an incorrectly solved CAPTCHA.
                ' Make sure the CAPTCHA was in fact incorrectly solved, do not
                ' just report it at random, or you might be banned as abuser.
                ' If client.Report(captcha) Then
                '    Console.WriteLine("Reported as incorrectly solved")
                ' Else
                '    Console.WriteLine("Failed reporting as incorrectly solved")
                ' End If
            End If

        End Sub
    End Class

    

    ' this script uses DeCaptcher API, to use this API first we need to opt-in our user in the following URL
    ' http://deathbycaptcha.com/user/api/decaptcher
    ' Is recomended to read the FAQ in that page

    ' this script can use authentication token instead of username/password combination
    ' to use this API with authentication token, first we need enable token authentication on users panel
    ' when using authentication token the username must be the keyword authtoken
    ' and the password is the authentication token from users panel


    VERSION BUILD=844

    URL GOTO=http://api.dbcapi.me/decaptcher?function=picture2&print_format=html
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:username
                                                                CONTENT={{YOUR_DBC_USERNAME}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:password
                                                                CONTENT={{YOUR_DBC_PASSWORD}}
    TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict
                                                                CONTENT={{PATH_TO_FILE}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict_type CONTENT=2
    TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=VALUE:Send

    TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
    SET !VAR1 {{!EXTRACT}}

    

    /*
    * Death by Captcha Node.js API newrecaptcha_coordinates usage example
    */

    const dbc = require('../deathbycaptcha');

    const username = 'username';     // DBC account username
    const password = 'password';     // DBC account password
    const token_from_panel = 'your-token-from-panel';   // DBC account authtoken

    const captcha_file = '../images/test.jpg';    // Image filename src

    // Death By Captcha Socket Client
    // const client = new dbc.SocketClient(username, password);
    // Death By Captcha http Client
    const client = new dbc.HttpClient(username, password);

    // To use token authentication the first parameter must be "authtoken"
    // const client = new dbc.HttpClient("authtoken", token_from_panel);

    // Get user balance
    client.get_balance((balance) => {
        console.log(balance);
    });

    // Solve captcha with type 2 extra argument
    client.decode({captcha: captcha_file, extra: {type: 2}}, (captcha) => {

        if (captcha) {
            console.log('Captcha ' + captcha['captcha'] + ' solved: ' + captcha['text']);

            // Report an incorrectly solved CAPTCHA.
            // Make sure the CAPTCHA was in fact incorrectly solved!
            // client.report(captcha['captcha'], (result) => {
            //   console.log('Report status: ' + result);
            // });
        }

    });

    

Image Group API FAQ:

Какой URL для API Группового изображения?

Для использования API Image Group вам придется отправить запрос на сообщение HTTP на http://api.dbcapi.me/api/captcha

Каковы параметры Post для API Image Group?

Это:

  • username: Имя пользователя учетной записи вашей учетной записи DBC
  • password: Ваша пароль учетной записи DBC
  • captchafile: Содержимое файла/изображения, закодированное в Base64, с действительной устаревшей/устаревшей Recaptcha.
  • banner: Base64 -кодированное изображение баннера (пример изображения, которое появляется в правом верхнем правом)
  • banner_text: Текст баннера (текст, который появляется слева в верхней части)
  • type=3: Тип 3 указывает, что это устаревшее/устаревшее API групп изображений Recaptcha
  • grid: Дополнительный параметр сетки определяет, к какой сетке выровнены отдельные изображения в captcha (строка, ширина + "x" + высота, например: "2x4", если изображения выровнены по 4 строкам с 2 изображениями в каждой. Если не указано, dbc попытается автоматически обнаружить сетку.
Какой ответ от API Image Group?

captcha: id предоставленной капчи, если поле текст пустое, вам придется запрашивать url http://api.dbcapi.me/api/captcha/captcha_id, пока она не станет доступной

is_correct:(0 или 1) Указание, была ли капча помечена как неправильная или нечитаемая

text: Список индекса, похожий на JSON для каждого изображения, который следует нажать. например:

    [1, 4, 6]

Где изображения, которые следует нажать, являются первыми, четвертым и шестью, подсчитывая слева направо и вниз

Использование API Image Group API с клиентами API:


    # new recaptcha image group
    import deathbycaptcha

    # Put your DBC account username and password here.
    username = "username"
    password = "password"
    # you can use authtoken instead of user/password combination
    # activate and get the authtoken from DBC users panel
    authtoken = "authtoken"

    # to use socket client
    # client = deathbycaptcha.SocketClient(username, password)

    # to use authtoken
    # client = deathbycaptcha.SocketClient(username, password, authtoken)

    client = deathbycaptcha.HttpClient(username, password)

    captcha_file = '../images/test2.jpg'  # image
    banner = "../images/banner.jpg"  # image banner
    banner_text = "select all pizza:"  # banner text

    try:
        balance = client.get_balance()
        print(balance)

        # Put your CAPTCHA file name or file-like object, and optional
        # solving timeout (in seconds) here:
        captcha = client.decode(captcha_file, type=3, banner=banner,
                                banner_text=banner_text)
        # you can supply optional `grid` argument to decode() call, with a
        # string like 3x3 or 2x4, defining what grid individual images were
        # located at example:
        # captcha = client.decode(captcha_file, type=3, banner=banner,
        #                         banner_text=banner_text, grid="2x4")
        # see 2x4.png example image to have an idea what that images look like
        # If you wont supply `grid` argument, dbc will attempt to autodetect
        # the grid

        if captcha:
            # The CAPTCHA was solved; captcha["captcha"] item holds its
            # numeric ID, and captcha["text"] is a json-like list of
            # the index for each image that should be clicked.
            print("CAPTCHA %s solved: %s" % (captcha["captcha"],
                                             captcha["text"]))

            if '':  # check if the CAPTCHA was incorrectly solved
                client.report(captcha["captcha"])
    except deathbycaptcha.AccessDeniedException:
        # Access to DBC API denied, check your credentials and/or balance
        print("error: Access to DBC API denied, check your credentials
              and/or balance")

    

    import com.DeathByCaptcha.AccessDeniedException;
    import com.DeathByCaptcha.Client;
    import com.DeathByCaptcha.HttpClient;
    import com.DeathByCaptcha.SocketClient;
    import com.DeathByCaptcha.Captcha;

    import java.io.IOException;

    class ExampleRecaptchaImageGroup {
        public static void main(String[] args)
                throws Exception {

            // Put your DBC username & password or authtoken here:
            String username = "your_username_here";
            String password = "your_password_here";
            String authtoken = "your_authtoken_here";

            String filename = "src/images/test2.jpg";
            String banner = "src/images/banner.jpg";
            String banner_text = "choose all pizza:";

            /* Death By Captcha Socket Client
               Client client = (Client) (new SocketClient(username, password));
               Death By Captcha http Client */
            Client client = (Client) (new HttpClient(username, password));
            client.isVerbose = true;

            /* Using authtoken
               Client client = (Client) new HttpClient(authtoken); */

            try {
                try {
                    System.out.println("Your balance is " + client.getBalance()
                                        + " US cents");
                } catch (IOException e) {
                    System.out.println("Failed fetching balance: "
                                        + e.toString());
                    return;
                }

                Captcha captcha = null;

                try {
                    /* Upload a CAPTCHA and poll for its status with 120
                       seconds timeout. Put you CAPTCHA image file name,
                       file object, input stream, or vector of bytes, and
                       solving timeout (in seconds) if 0 the default value
                       take place. please note we are specifying banner,
                       banner_test and type=3 in the second argument */
                    captcha = client.decode(filename, 3, banner,
                                            banner_text, 0);
                    /* you can supply optional `grid` argument to decode()
                       call, with a string like 3x3 or 2x4, defining what
                       grid individual images were located at

                      example:
                        captcha = client.decode(filename, 3, banner,
                                                banner_text, "2x4", 0);

                      see 2x4.png example image to have an idea what that images
                      look like. If you wont supply `grid` argument, dbc will
                      attempt to autodetect the grid */

                } catch (IOException e) {
                    System.out.println("Failed uploading CAPTCHA");
                    return;
                }
                if (null != captcha) {
                    System.out.println("CAPTCHA " + captcha.id + " solved: "
                                        + captcha.text);

                    /* Report incorrectly solved CAPTCHA if necessary.
                       Make sure you've checked if the CAPTCHA was in fact
                       incorrectly solved, or else you might get banned
                       as abuser. */
                    /*try {
                        if (client.report(captcha)) {
                            System.out.println("Reported as incorrectly solved");
                        } else {
                            System.out.println("Failed reporting incorrectly
                                                                solved CAPTCHA");
                        }
                    } catch (IOException e) {
                        System.out.println("Reporting incorrectly solved CAPTCHA:"
                                           + e.toString());
                    }*/
                } else {
                    System.out.println("Failed solving CAPTCHA");
                }
            } catch (com.DeathByCaptcha.Exception e) {
                System.out.println(e);
            }

        }
    }

    

    // new recaptcha image group

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class RecaptchaImageGroupExample
        {
            public void Main()
            {
                // Put your DeathByCaptcha account username and password here.
                string username = "your username";
                string password = "your password";
                // string token_from_panel = "your-token-from-panel";

                string filename = "./images/test2.jpg";
                string banner = "./images/banner.jpg";
                string banner_text = "choose all pizza:";

                /* Death By Captcha Socket Client
                   Client client = (Client) new SocketClient(username, password);
                   Death By Captcha http Client */
                Client client = (Client) new HttpClient(username, password);

                /* To use token authentication the first parameter must be "authtoken".
                Client client = (Client) new HttpClient("authtoken", token_from_panel); */

                try
                {
                    double balance = client.GetBalance();

                    /* Put your CAPTCHA file name, or file object,
                       or arbitrary stream, or an array of bytes,
                       and optional solving timeout (in seconds) here:
                    */
                    Captcha captcha = client.Decode(filename, 0, new Hashtable()
                    {
                        {"type", 3},
                        {"banner_text", banner_text},
                        {"banner", banner}
                        /*
                        - If you want to specify grid data: {"grid", "4x2"}
                        - If you wont supply  grid parameter, dbc would attempt to
                        autodetect proper grid.*/
                    });

                    if (null != captcha)
                    {
                        /* The CAPTCHA was solved; captcha.Id property holds
                        its numeric ID, and captcha.Text holds its text. */
                        Console.WriteLine("CAPTCHA {0} solved: {1}", captcha.Id,
                            captcha.Text);

                    // if ( /* check if the CAPTCHA was incorrectly solved */)
                    //{
                    //client.Report(captcha);
                    //}
                    }
                }
                catch (AccessDeniedException e)
                {
                    /* Access to DBC API denied, check your credentials and/or balance */
                    Console.WriteLine("<<< catch : " + e.ToString());
                }
            }
        }
    }

    

    Imports DeathByCaptcha

    Public Class NewRecaptchaImageGroup
        Sub Main(args As String())

            ' Put your DBC username & password or authtoken here:
            Dim username = "username"
            Dim password = "password"
            Dim token_from_panel = "your-token-from-panel"

            ' DBC Socket API client
            ' Dim client As New SocketClient(username, password)
            ' DBC HTTP API client
            Dim client As New HttpClient(username, password)

            ' To use token auth the first parameter must be "authtoken"
            ' Dim client As New HttpClient("authtoken", token_from_panel)

            Dim filename = "./images/test2.jpg"
            Dim banner = "./images/banner.jpg"
            Dim banner_text = "choose all pizza:"

            Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
                                            client.Balance))

            ' Create the extra data with type
            Dim extraData as new Hashtable()
            extraData.Add("type", 3)
            extraData.Add("banner", banner)
            extraData.Add("banner_text", banner_text)
            ' If you want to specify grid data: extraData.Add("grid", "4x4")
            ' If you wont supply  grid parameter, dbc would attempt to autodetect
            ' proper grid.

            ' Upload a CAPTCHA and poll for its status.  Put the Token CAPTCHA
            ' Json payload, CAPTCHA type and desired solving timeout (in seconds)
            ' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
            Dim captcha As Captcha = client.Decode(filename,
                                                   DeathByCaptcha.Client.DefaultTimeout,
                                                    extraData)
            If captcha IsNot Nothing Then
                Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}", captcha.Id,
                                                captcha.Text))

                ' Report an incorrectly solved CAPTCHA.
                ' Make sure the CAPTCHA was in fact incorrectly solved, do not
                ' just report it at random, or you might be banned as abuser.
                ' If client.Report(captcha) Then
                '    Console.WriteLine("Reported as incorrectly solved")
                ' Else
                '    Console.WriteLine("Failed reporting as incorrectly solved")
                ' End If
            End If
        End Sub
    End Class

    

    ' this script uses DeCaptcher API, to use this API first we need to opt-in our user in the following URL
    ' http://deathbycaptcha.com/user/api/decaptcher
    ' Is recomended to read the FAQ in that page

    ' this script can use authentication token instead of username/password combination
    ' to use this API with authentication token, first we need enable token authentication on users panel
    ' when using authentication token the username must be the keyword authtoken
    ' and the password is the authentication token from users panel

    VERSION BUILD=844

    URL GOTO=http://api.dbcapi.me/decaptcher?function=imagegroup&print_format=html
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:username
                                                                CONTENT={{YOUR_DBC_USERNAME}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:password
                                                                CONTENT={{YOUR_DBC_PASSWORD}}
    TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict
                                                                CONTENT={{PATH_TO_MAIN_IMAGE}}
    TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:banner
                                                                CONTENT={{PATH_TO_BANNER_IMAGE}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:banner_text
                                                                CONTENT={{BANNER_TEXT}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:grid CONTENT={{GRID}}
    TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=VALUE:Send

    TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
    SET !VAR1 {{!EXTRACT}}

    

    /*
    * Death by Captcha Node.js API newrecaptcha_image_groups usage example
    */

    const dbc = require('../deathbycaptcha');

    const username = 'username';     // DBC account username
    const password = 'password';     // DBC account password
    const token_from_panel = 'your-token-from-panel';   // DBC account authtoken

    const captcha_file = '../images/test2.jpg';           // Captcha image filename src
    const banner = '../images/banner.jpg';                // Banner image filename src
    const banner_text = 'select all pizza:';    // Banner text

    // Death By Captcha Socket Client
    // const client = new dbc.SocketClient(username, password);
    // Death By Captcha http Client
    const client = new dbc.HttpClient(username, password);

    // To use token authentication the first parameter must be "authtoken"
    // const client = new dbc.HttpClient("authtoken", token_from_panel);

    // Get user balance
    client.get_balance((balance) => {
        console.log(balance);
    });

    // Solve captcha with type 3, banner & banner_text extra arguments
    client.decode({captcha: captcha_file, extra: {type: 3, banner: banner,
                                                  banner_text: banner_text}
                  }, (captcha) => {

        // you can supply optional `grid` argument to decode() call, with a
        // string like 3x3 or 2x4, defining what grid individual images were located at
        // example:
        // captcha = client.decode({captcha: captcha_file,
        //                          extra: {type: 3, banner: banner,
        //                                  banner_text: banner_text, grid: "2x4"},
        //           (captcha) => {
        //   ...
        // });
        // see 2x4.png example image to have an idea what that images look like
        // If you wont supply `grid` argument, dbc will attempt to autodetect the grid

        if (captcha) {
            console.log('Captcha ' + captcha['captcha'] + ' solved: ' + captcha['text']);

            // Report an incorrectly solved CAPTCHA.
            // Make sure the CAPTCHA was in fact incorrectly solved!
            // client.report(captcha['captcha'], (result) => {
            //   console.log('Report status: ' + result);
            // });
        }

    });

    

Примеры кода использования для координат API и API группы изображений:

1) Отправьте свое изображение:

Обратите внимание, что мы используем тип = "2" для координат CAPTCHA API.


    curl --header 'Expect: ' -F username=your_username_here \
                             -F password=your_password_here \
                             -F captchafile=@'your_captcha_filename.jpg' \
                             -F type='2' http://api.dbcapi.me/api/captcha
    

ИЛИ:

Обратите внимание, что мы используем тип="3" для API CAPTCHA Image Group.


    curl --header 'Expect: ' -F username=your_username_here \
                             -F password=your_password_here \
                             -F captchafile=@'your_captcha_filename.jpg' \
                             -F banner=@'your_banner_filename.jpg' \
                             -F banner_text=banner_text_here  \
                             -F type='3' http://api.dbcapi.me/api/captcha
    

Или, если вы поставляете информацию о сетке (высота x ширина). В этом примере используется сетка 4x2, вы должны указать его в соответствии с загруженным изображением. Если вы не будете снабжать параметр сетки, DBC попытается автоматически разместить надлежащую сетку.


    curl --header 'Expect: ' -F username=your_username_here \
                             -F password=your_password_here \
                             -F captchafile=@'your_captcha_filename.jpg' \
                             -F banner=@'your_banner_filename.jpg' \
                             -F banner_text=banner_text_here  \
                             -F type='3' http://api.dbcapi.me/api/captcha
                             -F grid=4x2
    

Результатом являются данные URL_ENCODED, включая соответствующую CAPTCHA_ID:

    'status=0&captcha=CAPTCHA_ID&text=&is_correct=1'

2) Вытягивая координаты CAPTCHA: возьмите заданный CAPTCHA_ID и сделайте запрос такой:

curl -H "Accept: application/json" \
    http://api.dbcapi.me/api/captcha/CAPTCHA_ID

Результатом является json-string, где поле «text» включает в себя соответствующие координации:

'{"status": 0, "captcha": 2911096,
  "is_correct": true, "text": "[[57,240],[156,335]"}'

Статус: OK

Серверы полностью готовы к работе с более быстрым, чем в среднем, временем отклика.
  • Среднее время решения
  • 3 секунды - Normal CAPTCHAs (1 мин. назад)
  • 29 секунды - reCAPTCHA V2, V3, etc (1 мин. назад)
  • 14 секунды - hCAPTCHA & другие (1 мин. назад)
Chrome and Firefox logos
Доступны расширения браузера

Обновления

  1. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly
  2. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf
  3. Nov 01: Today our Socket API was affected by a technical issue for a few hours. It's now sorted and back to 100%, working optimally. We sincerely apologize for the inconvenience this may have caused you. If you were affected, please don't hesitate to contact us: https://deathbycaptcha.com/contact and we'll be happy to assist/compensate you!

  4. Предыдущие обновления…

Поддерживать

Наша система разработана таким образом, чтобы быть максимально удобной и простой в использовании. Если у вас возникнут какие-либо проблемы с этим, просто напишите нам по адресу Электронная почта службы технической поддержки DBC com, и агент службы поддержки свяжется с вами как можно скорее.

Живая поддержка

Доступно с понедельника по пятницу (с 10:00 до 16:00 по восточному поясному времени) Live support image. Link to live support page