Indice

Téléchargez les exemples d'exemples basés sur l'API:

Prise en charge de l`API KeyCaptcha

Que sont les défis « KeyCAPTCHA » ?

Ce sont des défis qui nécessitent généralement que l`utilisateur résolve un puzzle simple.

Pour votre commodité, nous avons implémenté la prise en charge de l`API KeyCaptcha. Si votre logiciel fonctionne avec et prend en charge une configuration minimale, vous devriez pouvoir décoder KeyCaptchas en utilisant Death By Captcha en un rien de temps.

  • KeyCaptcha API: Fourni une URL de site et une clé de site KeyCaptcha, l`API renvoie un jeton que vous utiliserez pour soumettre le formulaire dans la page avec le défi KeyCaptcha.

Prix

Pour le moment, le prix est de $2.89/1K Défis Keycaptcha correctement résolus. Vous ne serez pas facturé pour KeyCaptcha signalé comme incorrectement résolu. Notez que cette tarification s`applique uniquement aux défis KeyCaptcha, donc seuls les clients utilisant cette API spécifique seront facturés audit tarif.

FAQ sur l`API KeyCaptcha:

Quelle est l`URL de l`API KeyCaptcha?

Pour utiliser l`API KeyCaptcha, vous devrez envoyer une requête HTTP POST à http://api.dbcapi.me/api/captcha

Quels sont les paramètres POST pour l`API KeyCaptcha?

  • username: Votre nom d'utilisateur de compte DBC
  • password: Votre mot de passe du compte DBC
  • type=10: Le type 10 spécifie qu`il s`agit d`une API KeyCaptcha
  • keycaptcha_params=json(payload): les données pour accéder au challenge KeyCaptcha
  • Structure de la charge utile JSON:
    • proxy: Votre URL et références proxy (le cas échéant). Exemples:
    • proxytype: Votre protocole de connexion proxy. Pour savoir quels types de proxy sont pris en charge, consultez Quels sont les types de proxy pris en charge ? Exemple :
      • HTTP
    • s_s_c_user_id: Variable Javascript utilisée par KeyCaptcha

      Example:

      Vous devez localiser ce paramètre dans la source de la page Web. Vous pouvez le trouver dans une balise HTML "script".

      • 15
    • s_s_c_session_id: Variable Javascript utilisée par KeyCaptcha

      Example:

      Vous devez localiser ce paramètre dans la source de la page Web. Vous pouvez le trouver dans une balise HTML "script".

      • 8c8ad5a784ec913bec04aa63d923ccb0
    • s_s_c_web_server_sign: Variable Javascript utilisée par KeyCaptcha

      Example:

      Vous devez localiser ce paramètre dans la source de la page Web. Vous pouvez le trouver dans une balise HTML "script".

      • ccf7c202576b6b47b6c3d4584ebbd8de-pz-
    • s_s_c_web_server_sign: Variable Javascript utilisée par KeyCaptcha

      Example:

      Vous devez localiser ce paramètre dans la source de la page Web. Vous pouvez le trouver dans une balise HTML "script".

      • 063b44822f295c6697bccd42aec65dd6
    • pageurl: l`url de la page avec les défis KeyCaptcha. Cette URL doit inclure le chemin dans lequel le KeyCaptcha est chargé. Exemple: si le KeyCaptcha que vous souhaitez résoudre se trouve dans http://test.com/path1, la pageurl doit être http://test.com/path1 et non http://test.com.

    Le paramètre proxy est facultatif, mais nous recommandons fortement d'en utiliser un pour empêcher le rejet par la page fournie en raison d'incohérences entre l'IP qui a résolu le captcha (le nôtre si aucun proxy n'est fourni) et l'IP soumis La solution de vérification (la vôtre).


    Remarque: Si le proxy est fourni, proxytype est un paramètre requis.

    Exemple complet de keycaptcha_params:

    
    {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        's_s_c_user_id': 15,
        's_s_c_session_id': '8c8ad5a784ec913bec04aa63d923ccb0',
        's_s_c_web_server_sign': 'ccf7c202576b6b47b6c3d4584ebbd8de-pz-',
        's_s_c_web_server_sign2': '063b44822f295c6697bccd42aec65dd6',
        'pageurl': 'https://testsite.com/xxx-test'
    }
                

Quelle est la réponse de l`API KeyCaptcha?

La réponse de l`API KeyCaptcha a la structure suivante. Il est valable pour une utilisation et a une durée de vie de 2 minutes. Ce sera une chaîne comme celle-ci :


"ebdb5a6bf76da6887db60ef2041ab946|9006dc725760858e4c0715b835472f22|
http://back10.keycaptcha.com/swfs/ckc/0d4d08-|
493e52c37c10c2bcdf4a00cbc9ccd1e8|1"
      

Quels types de proxy sont pris en charge?

Actuellement, seuls les proxys http sont pris en charge. La prise en charge d'autres types sera ajoutée à l'avenir.

Using KeyCaptcha API with api clients:


    /**
     * Death by Captcha PHP API KeyCaptcha 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";

    // Set the proxy and KeyCaptcha token data
    $data = array(
        'proxy' => 'http://user:[email protected]:1234',
        'proxytype' => 'HTTP',
        's_s_c_user_id' => 'valid_UID',
        's_s_c_session_id' => 'valid_session_ID',
        's_s_c_web_server_sign' => 'valid_webserver_sign',
        's_s_c_web_server_sign2' => 'valid_webserver_sign2',
        'pageurl' => 'https://client-demo.testsite.com/test-keycaptcha'
    );
    //Create a json string
    $json = json_encode($data);

    //Put the type and the json payload
    $extra = [
        'type' => 10,
        'keycaptcha_params' => $json,
    ];

    // Put null the first parameter and add the extra payload
    if ($captcha = $client->decode(null, $extra)) {
        echo "CAPTCHA {$captcha['captcha']} uploaded\n";

        sleep(DeathByCaptcha_Client::DEFAULT_TIMEOUT);

        // Poll for CAPTCHA indexes:
        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']);
        }
    }
        

    # keycaptcha
    import deathbycaptcha
    import json

    # 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)

    # Put the proxy and keycaptcha data
    Captcha_dict = {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        's_s_c_user_id': 'valid_UID',
        's_s_c_session_id': 'valid_session_ID',
        's_s_c_web_server_sign': 'valid_webserver_sign',
        's_s_c_web_server_sign2': 'valid_webserver_sign2',
        'pageurl': 'https://client-demo.testsite.com/test-keycaptcha'
    }

    # Create a json string
    json_Captcha = json.dumps(Captcha_dict)

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

        # Put your CAPTCHA type and Json payload here:
        captcha = client.decode(type=10, keycaptcha_params=json_Captcha)
        if captcha:
            # The CAPTCHA was solved; captcha["captcha"] item holds its
            # numeric ID, and captcha["text"] its text token solution.
            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 org.json.JSONObject;

    import java.io.IOException;

    class ExampleKeyCaptcha {
        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";

            /* 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 {
                    // Proxy and keycaptcha data
                    String proxy = "http://user:[email protected]:1234";
                    String proxytype = "http";
                    String s_s_c_user_id = "valid_UID";
                    String s_s_c_session_id = "valid_session_ID";
                    String s_s_c_web_server_sign = "valid_webserver_sign";
                    String s_s_c_web_server_sign2 = "valid_webserver_sign2";
                    String pageurl = "https://client-demo.testsite.com/test-funcaptcha";

                    //Send a json with the parameters
                    JSONObject json_params = new JSONObject();
                    json_params.put("proxy", proxy);
                    json_params.put("proxytype", proxytype);
                    json_params.put("s_s_c_user_id", s_s_c_user_id);
                    json_params.put("s_s_c_session_id", s_s_c_session_id);
                    json_params.put("s_s_c_web_server_sign", s_s_c_web_server_sign);
                    json_params.put("s_s_c_web_server_sign2", s_s_c_web_server_sign2);
                    json_params.put("pageurl", pageurl);
                    captcha = client.decode(10, json_params);
                    */
                } 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);
            }


        }
    }

        

    // keycaptcha

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class KeyCaptchaExample
        {
            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";

                /* 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); */

                // Put your Proxy credentials and type here
                string proxy = "http://user:[email protected]:1234";
                string proxyType = "HTTP";
                string pageurl = "https://client-demo.testsite.com/test-keycaptcha";
                string s_s_c_user_id = "valid_UID";
                string s_s_c_session_id = "valid_session_ID";
                string s_s_c_web_server_sign = "valid_webserver_sign";
                string  s_s_c_web_server_sign2 = "valid_webserver_sign2";

                string keycaptchaParams = "{\"proxy\": \"" + proxy + "\"," +
                                        "\"proxytype\": \"" + proxyType + "\"," +
                                        "\"s_s_c_user_id\": \"" + s_s_c_user_id + "\"," +
                                        "\"s_s_c_session_id\": \"" + s_s_c_session_id + "\"," +
                                        "\"s_s_c_web_server_sign\": \"" + s_s_c_web_server_sign + "\"," +
                                        "\"s_s_c_web_server_sign2\": \"" + s_s_c_web_server_sign2 + "\"," +
                                        "\"pageurl\": \"" + pageurl + "\"}";
                try
                {
                    double balance = client.GetBalance();

                    /* Upload a CAPTCHA and poll for its status. Put the KeyCaptcha
                       Json payload, CAPTCHA type and desired solving timeout (in seconds)
                       here. If solved, you'll receive a DeathByCaptcha.Captcha object. */
                    Captcha captcha = client.Decode(Client.DefaultTimeout,
                        new Hashtable()
                        {
                            {"type", 10},
                            {"keycaptcha_params", keycaptchaParams}
                        });

                    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 KeyCaptcha
        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)

            ' Proxy and keyaptcha data
            Dim proxy = "http://user:[email protected]:1234"
            Dim proxyType = "HTTP"
            Dim s_s_c_user_id = "valid_UID";
            Dim s_s_c_session_id = "valid_session_ID";
            Dim s_s_c_web_server_sign = "valid_webserver_sign";
            Dim s_s_c_web_server_sign2 = "valid_webserver_sign2";
            Dim pageurl = "https://client-demo.testsite.com/test-keycaptcha"

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

            ' Create a JSON with the extra data
            Dim keycaptchaParams = "{""proxy"": """ + proxy + """," +
                                 """proxytype"": """ + proxyType + """," +
                                 """s_s_c_user_id"": """ + s_s_c_user_id + """," +
                                 """s_s_c_session_id"": """ + s_s_c_session_id + """," +
                                 """s_s_c_web_server_sign"": """ + s_s_c_web_server_sign + """," +
                                 """s_s_c_web_server_sign2"": """ + s_s_c_web_server_sign2 + """," +
                                 """pageurl"": """ + pageurl + """}"

            ' Create the payload with the type and the extra data
            Dim extraData As New Hashtable()
            extraData.Add("type", 10)
            extraData.Add("keycaptcha_params", keycaptchaParams)

            ' Upload a CAPTCHA and poll for its status.  Put the KeyCaptcha
            ' 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(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
        

    /*
    * Death by Captcha Node.js API keycaptcha 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

    // Proxy and keycaptcha token data
    const keycaptcha_params = JSON.stringify({
        'proxy': 'http://username:[email protected]:3128',
        'proxytype': 'HTTP',
        's_s_c_user_id': 'valid_UID',
        's_s_c_session_id': 'valid_session_ID',
        's_s_c_web_server_sign': 'valid_webserver_sign',
        's_s_c_web_server_sign2': 'valid_webserver_sign2',
        'pageurl': 'https://client-demo.testsite.com/test-keycaptcha'
    });

    // 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 10 & token_params extra arguments
    client.decode({extra: {type: 10, keycaptcha_params: keycaptcha_params}}, (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);
            * });
            */
        }

    });
        

Statut: OK

Les serveurs sont pleinement opérationnels avec un temps de réponse plus rapide que la moyenne.
  • Temps de résolution moyen
  • 2 secondes - Normal CAPTCHAs (1 min. il y a)
  • 26 secondes - reCAPTCHA V2, V3, etc (1 min. il y a)
  • 20 secondes - hCAPTCHA & autres (1 min. il y a)
Chrome and Firefox logos
Extensions du navigateur disponibles

Mises à jour

  1. Apr 26: RESOLVED - The deathbycaptcha.com website (the API remained/remains fully functional) was sporadically inaccessible due to network issues on April 25th & 26th. This situation was fully resolved and everything is back to 100%.
  2. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly
  3. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf

  4. Mises à jour précédentes…

Soutien

Notre système est conçu pour être totalement convivial et facile à utiliser. Si vous rencontrez des problèmes, envoyez-nous simplement un e-mail àE-mail du support technique DBC com, et un agent de support vous répondra dans les plus brefs délais.

Support en direct

Disponible du lundi au vendredi (10 h à 16 h HNE) Live support image. Link to live support page