Índice

Faça o download dos códigos exemplos usando a versão programa do API:

Suporte à API Capy Puzzle

Quais são os desafios do Capy Puzzle?

São desafios que normalmente exigem que o usuário coloque uma peça de quebra-cabeça para completá-lo.

Para sua conveniência, implementamos o suporte para Capy Puzzle API. Se o seu software funcionar com ele e suportar configuração mínima, você poderá decodificar Capy Puzzles usando Death By Captcha rapidamente.

  • Capy Puzzle API: Fornecendo um URL do site e uma chave captcha do Capy Puzzle, a API retorna um token que você usará para enviar o formulário na página com o desafio Capy Puzzle.

Preço

Por enquanto, o preço é $2,89/1K Capy Puzzle desafios resolvidos corretamente. Você não será cobrado por Capy Puzzle relatado como resolvido incorretamente.

Perguntas frequentes da API Capy Puzzle:

Qual é a URL da API Capy Puzzle?

To use the Capy Puzzle API you will have to send a HTTP POST Request to http://$:{API_HOST}/api/captcha

Quais são os parâmetros POST para a Capy Puzzle API?

  • username: Seu nome de usuário da sua conta DBC
  • password: Sua senha da sua conta DBC
  • type=15: Type 15 specifies this is a Capy Puzzle API
  • capy_params=json(payload): os dados para acessar o desafio capy
  • Estrutura json payload:
    • proxy: o url do seu proxy e credenciais (se tiver). Exemplos:
    • proxytype: seu protocolo de conexão proxy. Para tipos de proxy com suporte, consulte Quais tipos de proxy tem suporte?. Exemplo:
      • HTTP
    • captchakey: a chave do quebra-cabeça capy.

      Exemplo:

      • PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN

      Normalmente, você pode encontrar isso na página da Web no final do URL da API

    • api_server: a raiz do servidor API que tinha o captchakey anexado a ele
    • pageurl: a url da página com os desafios Capy Puzzle. Este url deve incluir o caminho no qual o Capy Puzzle é carregado. Exemplo: se o Capy Puzzle que você deseja resolver estiver em http://test.com/path1, o pageurl tem que ser http://test.com/path1 e não http://test.com.

    OBS: caso o proxy foi fornecido, proxytype é um parâmetro necessário.

    Exemplo completo de capy_params:

    
    {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        'captchakey': 'PUZZLE_Abc1dEF1h4JKLMSno3dP56Q7rftu8L',
        'api_server': 'https://www.capy.me/'
        'pageurl': 'https://testsite.com/xxx-test'
    }
                

Qual é a resposta da Capy Puzzle API?

A resposta da API Capy Puzzle tem a seguinte estrutura.


{
    "captchakey": "PUZZLE_Abc1dEF1h4JKLMSno3dP56Q7rftu8L",
    "challengekey": "y1Pu234nCwq56WnqB7y8TSZq0Qzp0ltK",
    "answer": "0xax8ex0xax84x0xkx7qx0xux7qx0xux7gx0x18x7gx0x1sx76x0x26x6ix0x2qx6ix0x3ex68x0"
}
      

Quais tipos de proxy tem suporte?

Atualmente, apenas proxys de HTTP são suportados. Suporte para outros tipos serão adicionados no futuro.

Usando Capy Puzzle API com clientes api:


    /**
     * Death by Captcha PHP API capy 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 capy data
    $data = array(
        'proxy' => 'http://user:[email protected]:1234',
        'proxytype' => 'HTTP',
        'captchakey' => 'PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN',
        'pageurl' => 'https://client-demo.testsite.com/test-capy'
        'api_server' => 'https://api.testsite.com/'
    );
    //Create a json string
    $json = json_encode($data);

    //Put the type and the json payload
    $extra = [
        'type' => 15,
        'capy_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']);
        }
    }

        

    # capy
    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 Capy data
    Captcha_dict = {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        'captchakey': 'PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN',
        'pageurl': 'https://client-demo.testsite.com/test-capy'
        'api_server': 'https://api.testsite.com/'
    }

    # 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=15, capy_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 ExampleCapy {
        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 capy data
                    String proxy = "http://user:[email protected]:1234";
                    String proxytype = "http";
                    String captchakey = "PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN";
                    String pageurl = "https://client-demo.testsite.com/test-capy";
                    String api_server = "https://api.testsite.com/";
                    /* Upload a capy and poll for its status with 120 seconds timeout.
                       Put your proxy, proxy type, page captchakey, page url and
                       solving timeout (in seconds) 0 or nothing for the
                       default timeout value. */
                    captcha = client.decode(11, proxy, proxytype, captchakey, pageurl);

                    //other method is to send a json with the parameters
                    /*
                    JSONObject json_params = new JSONObject();
                    json_params.put("proxy", proxy);
                    json_params.put("proxytype", proxytype);
                    json_params.put("captchakey", captchakey);
                    json_params.put("pageurl", pageurl);
                    json_params.put("api_server", api_server);
                    captcha = client.decode(11, 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);
            }


        }
    }

        

    // capy

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class CapyEcample
        {
            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 captchakey = "PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN";
                string pageurl = "https://client-demo.testsite.com/test-capy";
                string api_server = "https://api.testsite.com/";

                string capyParams = "{\"proxy\": \"" + proxy + "\"," +
                                          "\"proxytype\": \"" + proxyType + "\"," +
                                          "\"api_server\": \"" + api_server + "\"," +
                                          "\"captchakey\": \"" + captchakey + "\"," +
                                          "\"pageurl\": \"" + pageurl + "\"}";

                try
                {
                    double balance = client.GetBalance();

                    /* 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. */
                    Captcha captcha = client.Decode(Client.DefaultTimeout,
                        new Hashtable()
                        {
                            {"type", 15},
                            {"capy_params", capyParams}
                        });

                    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("### exception : " + e.ToString());
                }
            }
        }
    }

        

    Imports DeathByCaptcha

    Public Class Capy
        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 capy data
            Dim proxy = "http://user:[email protected]:1234"
            Dim proxyType = "HTTP"
            Dim captchakey = "PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN"
            Dim pageurl = "https://client-demo.testsite.com/test-capy"
            Dim api_server = "https://api.testsite.com/"

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

            ' Create a JSON with the extra data
            Dim capyParams = "{""proxy"": """ + proxy + """," +
                                   """proxytype"": """ + proxyType + """," +
                                   """api_server"": """ + api_server + """," +
                                   """captchakey"": """ + captchakey + """," +
                                   """pageurl"": """ + pageurl + """}"

            ' Create the payload with the type and the extra data
            Dim extraData As New Hashtable()
            extraData.Add("type", 15)
            extraData.Add("capy_params", capyParams)

            ' 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(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
        

    /*
    * Death by Captcha Node.js API capy 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 capy data
    const capy_params = JSON.stringify({
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        'captchakey': 'PUZZLE_h4k2THJgd5dR5jYrKRHdddaSEp7aDN',
        'pageurl': 'https://client-demo.testsite.com/test-capy'
        'api_server': 'https://api.testsite.com/'
    });

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

        }

    });
        

Status: OK

Os servidores estão totalmente operacionais com tempo de resposta mais rápido que a média.
  • Tempo médio de resolução
  • 2 segundos - Normal CAPTCHAs (1 min. atrás)
  • 28 segundos - reCAPTCHA V2, V3, etc (1 min. atrás)
  • 15 segundos - hCAPTCHA & outros (1 min. atrás)
Chrome and Firefox logos
Extensões do navegador disponíveis

Atualizações

  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. Atualizações anteriores…

Apoiar

Nosso sistema foi projetado para ser totalmente amigável e fácil de usar. Se você tiver algum problema com isso, basta enviar um e-mail paraE-mail de suporte técnico DBC com, e um agente de suporte entrará em contato com você o mais rápido possível.

Suporte ao vivo

Disponível de segunda a sexta-feira (10h às 16h EST) Live support image. Link to live support page