指数

下载基于API客户端的示例代码:

新的腾讯验证码API支持

什么是“腾讯码”挑战?

他们面临的挑战通常要求用户对齐并单击某些图像。

为了方便起见,我们对Tencent Captcha API实施了支持。如果您的软件可以使用它并支持最小配置,则应立即使用Death By Captcha解码腾讯验证码。

  • Tencent captcha API: 提供了一个站点URL和腾腾的Captcha Appid,API返回一个令牌,您将使用该令牌在页面中提交带有Tencent Captcha Challenge的表格。

价钱

暂时,价格为$2.89/1K成功解决的腾讯验证码挑战。对于被报告为解决错误的腾讯验证码,您将不会被收费。请注意,此定价仅适用于新的腾讯验证码挑战,因此只有使用此特定API的客户将按照所述费率收费。

Tencent Captcha API常见问题解答:

tencent Captcha API URL 是什么?

要使用 tencent Captcha api 您必须将http Post请求发送到http://api.dbcapi.me/api/captcha

tencent Captcha api 的帖子参数是什么?

  • username: 您的DBC帐户用户名
  • password: 您的DBC帐户密码
  • type=23: 类型23指定这是Tencent Captcha api
  • tencent_params=json(payload): 访问Tencent Captcha挑战的数据
  • JSON有效负载结构:
    • proxy: 您的代理URL和凭据(如果有)。例证:
    • proxytype: 您的代理连接协议。有关支持的代理类型,请参见支持哪些代理类型? 示例:
      • HTTP
    • appid: 带有腾讯验证码的网站的腾讯验证码。

      例子:

      • 2044554539

      您需要找到腾讯验证码的苹果。您可以找到腾讯Catpcha的按钮元素,并检查数据应用参数的值。

    • pageurl: 页面的URL带有腾讯验证码挑战。该URL必须包括加载腾讯验证码的路径。示例:如果您要解决的腾腾验证码在http://test.com/path1中,则pageurl必须是http://test.com/path1而不是http://test.com。

    代理参数是可选的,但是我们强烈建议使用一个解决方案的IP之间的不一致之处,以防止提供的页面拒绝(如果没有提供代理)和提交的IP验证解决方案(您的)。


    注意:如果提供了代理,则proxytype是必需的参数。

    Tencent_Params的完整示例:

    
    {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        'appid': '2044554539',
        'pageurl': 'https://testsite.com/xxx-test'
    }
                

tencent Captcha api 的响应是什么?

腾讯验证码API响应具有以下结构。它有效一种用途,并具有2分钟的寿命。这将是如下的字符串:


    {
        "appid": "85773405",
        "ret": 0,
        "ticket": "tr0344YjOGfuidofFOohyWS_y6tJKiqVPIdFWlVaQouJobradjs-o-BjeassM31GUIFHgfIOGFD877*",
        "randstr": "YUNM"
    }
      

支持哪些代理类型?

当前,仅支持 http 代理。对其他类型的支持将来会添加。

与API客户端一起使用Tencent Captcha API:


    /**
     * Death by Captcha PHP API tencent captcha 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 tencent captcha token data
    $data = array(
        'proxy' => 'http://user:[email protected]:1234',
        'proxytype' => 'HTTP',
        'appid' => '56456457746',
        'pageurl' => 'https://testsite.com/test'
    );
    //Create a json string
    $json = json_encode($data);

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

    # tencent captcha
    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 tencent captcha data
    Captcha_dict = {
        'proxy': 'http://user:[email protected]:1234',
        'proxytype': 'HTTP',
        'appid': '5657767878',
        'pageurl': 'https://testsite.com/test'
    }

    # 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=23, tencent_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 ExampleTencentcaptcha {
        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 tencent captcha data
                    String proxy = "http://user:[email protected]:1234";
                    String proxytype = "http";
                    String appid = "6757537677";
                    String pageurl = "https://testsite.com/test";
                    /* Upload a tencent captcha and poll for its status with 120 seconds timeout.
                       Put your proxy, proxy type, page appid, page url and solving
                       timeout (in seconds) 0 or nothing for the default timeout value. */
                    JSONObject json_params = new JSONObject();
                    json_params.put("proxy", proxy);
                    json_params.put("proxytype", proxytype);
                    json_params.put("appid", appid);
                    json_params.put("pageurl", pageurl);
                    captcha = client.decode(23, 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);
            }
        }
    }

        

    // tencent captcha

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class TencentcaptchaExample
        {
            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 appid = "6345365346";
                string pageurl = "https://testsite.com/test";

                string tencentParams = "{\"proxy\": \"" + proxy + "\"," +
                                        "\"proxytype\": \"" + proxyType + "\"," +
                                        "\"appid\": \"" + appid + "\"," +
                                        "\"pageurl\": \"" + pageurl + "\"}";
                try
                {
                    double balance = client.GetBalance();

                    /* Upload a CAPTCHA and poll for its status. Put the Tencent 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", 23},
                            {"tencent_params", tencentParams}
                        });

                    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 Tencentcaptcha
        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 tencent captcha data
            Dim proxy = "http://user:[email protected]:1234"
            Dim proxyType = "HTTP"
            Dim appid = "76572357"
            Dim pageurl = "https://testsite.com/test"

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

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

            ' Create the payload with the type and the extra data
            Dim extraData As New Hashtable()
            extraData.Add("type", 23)
            extraData.Add("tencent_params", tencentParams)

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

    /*
    * Death by Captcha Node.js API Tencent captcha 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 tencent captcha token data
    const tencent_params = JSON.stringify({
        'proxy': 'http://username:[email protected]:3128',
        'proxytype': 'HTTP',
        'appid': '6548768836',
        'pageurl': 'https://testsite.com/test'
    });

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

    });
        

地位: OK

服务器以比平均响应时间更快的速度全面运行。
  • 平均求解时间
  • 3 秒 - Normal CAPTCHAs (1分钟。前)
  • 37 秒 - reCAPTCHA V2, V3, etc (1分钟。前)
  • 13 秒 - hCAPTCHA & 其他的 (1分钟。前)
Chrome and Firefox logos
可用的浏览器扩展名

更新

  1. Sep 13: We experienced a brief login issue today, which has now been resolved. Thank you for your patience and understanding!
  2. 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%.
  3. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly

  4. 之前的更新…

支持

我们的系统设计为完全用户友好且易于使用。如果您有任何问题,只需发送电子邮件至DBC 技术支持电子邮件com,支持代理将尽快与您联系。

现场支持

周一至周五可用(美国东部标准时间上午 10 点至下午 4 点) Live support image. Link to live support page