logo
bars
///
Guia do Tencent Captcha (TCaptcha) em 2026
Kira Pridantseva
Kira Pridantseva
Editora técnica
November 10, 2026
10 min

 

Guia do Tencent Captcha (TCaptcha)

O Tencent Captcha é o serviço de verificação da Tencent Cloud para detectar atividades automatizadas em sites. Ele pode apresentar ao visitante um quebra-cabeça com controle deslizante, um desafio com imagens ou um teste de áudio. Dependendo da avaliação de risco, alguns visitantes podem seguir sem resolver um desafio.

Os sites usam o Tencent Captcha para proteger cadastros, logins e outras ações sensíveis. O serviço também ajuda a limitar spam, fraudes e acessos automatizados indesejados ao conteúdo.

robots
Comece agora e automatize sua solução reCAPTCHA v2

Pontos principais

  • A Tencent Cloud documenta cinco modos de verificação: controle deslizante, desafio gráfico, áudio, verificação inteligente e verificação sem interação.
  • A segunda versão do script usa novos nomes de arquivo e um novo domínio.
  • Quando o usuário resolve o desafio, a Tencent retorna ticket e randstr para verificação no servidor. Os tickets emitidos em caso de falha precisam de tratamento separado.
  • O CapMonster Cloud usa uma tarefa CustomTask da classe TenDI. Os parâmetros obrigatórios específicos do site são websiteURL e websiteKey.
  • Tencent Captcha e NetEase YiDun são produtos de empresas diferentes.

Termos e definições

  • TCaptcha — nome abreviado do Tencent Captcha, também usado nos nomes dos arquivos da primeira versão do script.
  • captchaAppId (aid) — identificador de uma configuração de captcha no console da Tencent Cloud. Nas requisições de rede, aparece como aid.
  • ticket — valor retornado quando ret é 0. O backend precisa validá-lo e tratar também as respostas emitidas em caso de falha.
  • randstr — sequência aleatória associada a uma tentativa. É enviada com o ticket para verificação no servidor.
  • Desafio com controle deslizante — captcha da Tencent em que o usuário move o controle até a peça se encaixar no recorte.

Como o Tencent Captcha é exibido e carregado

Para resolver o captcha deslizante da Tencent, o usuário arrasta o controle até a peça se encaixar no recorte.

Como o Tencent Captcha é exibido e carregado Para resolver o captcha deslizante da Tencent, o usuário arrasta o controle até a peça se encaixar no recorte
Dois exemplos de quebra-cabeça com controle deslizante no Tencent Captcha

A visão geral do produto da Tencent Cloud também apresenta outros quatro modos de verificação.

Captcha gráfico: o usuário clica nas formas da imagem na ordem indicada. Esse modo é usado em cenários que exigem mais segurança.

Captcha gráfico da Tencent com símbolos a selecionar na ordem indicada
Desafio gráfico do Tencent Captcha com seleção de símbolos na ordem indicada

Captcha de áudio: o usuário digita o que ouve na gravação. Esse modo serve principalmente como recurso de acessibilidade.

Tela de verificação por áudio do Tencent Captcha com botão para reproduzir a gravação
Tela de verificação por áudio do Tencent Captcha

Verificação inteligente: o sistema só exibe um desafio para usuários que considera suspeitos, de forma semelhante ao reCAPTCHA do Google.

Verificação sem interação: o usuário não recebe um desafio. O backend retorna o resultado com base na avaliação de risco.

A Tencent analisa trajetórias e identifica características, além de fazer verificações para detectar emuladores.

Como o widget carrega

Carregue o script do CAPTCHA pela URL oficial da Tencent em vez de hospedar uma cópia. O guia da Tencent usa uma tag script comum e dispensa o import() dinâmico do JavaScript. Há duas versões do script:

  • Versão original: o guia de migração do JavaScript da Tencent lista https://sg.captcha.qcloud.com/TCaptcha-global.js e https://global.captcha.gtimg.com/TCaptcha-global.js como os endereços antigos do script. A documentação do CapMonster Cloud também cita TCaptcha.js como um possível nome de arquivo.
  • Segunda versão: o arquivo TJNCaptcha-global.js é carregado do domínio ca.turing.captcha.qcloud.com. Segundo a documentação do CapMonster Cloud, essas páginas podem usar arquivos com nomes no formato TJNCaptcha*.js ou TJCaptcha*.js. O * representa uma sequência de caracteres, como -global, ou uma sequência vazia.

Segundo o guia de integração web da Tencent Cloud, a segunda versão é inicializada com new TencentCaptcha(DOM, CaptchaAppId, callback, options). O parâmetro opcional aidEncrypted recebe uma sequência criptografada de verificação associada a CaptchaAppId. Quando esse modo está habilitado, o backend do site gera a sequência.

Em páginas que usam a integração original, você pode encontrar uma requisição para https://sg.captcha.qcloud.com/cap_union_prehandle?aid=.... O parâmetro aid identifica a aplicação do CAPTCHA. Seu valor pode ser usado como websiteKey em uma tarefa TenDI no CapMonster Cloud.

O callback recebe ret, ticket e randstr. O valor ret = 0, por si só, não confirma que a verificação foi bem-sucedida. Um erro de carregamento ou de rede pode gerar o mesmo valor, com um ticket que começa com trerror_. No fluxo normal, o backend precisa validar o ticket pela API da Tencent antes de permitir a ação protegida. Trate as respostas de contingência separadamente, levando em conta ticket, errorCode e a política de recuperação configurada no site. Consulte as orientações da Tencent para recuperação em caso de falha.  Tencent Captcha e NetEase YiDun: quais são as diferenças? É comum comparar o YiDun com o Tencent Captcha porque os dois serviços oferecem quebra-cabeças com controle deslizante. São produtos distintos. O Tencent Captcha é desenvolvido pela Tencent Cloud, enquanto o NetEase YiDun é desenvolvido pela NetEase.  Os dois produtos oferecem verificação baseada em risco, mas a integração no cliente e a validação no servidor funcionam de formas diferentes. A visão geral da integração do YiDun descreve os tipos de CAPTCHA. A documentação sobre o funcionamento do componente mostra como a avaliação de risco orienta a verificação, e o guia de integração no servidor explica como validar o resultado.  Tencent Captcha  NetEase YiDun  Desenvolvedor  Tencent (Tencent Cloud)  NetEase  Desafios no site oficial  Controle deslizante, seleção de elementos da imagem em ordem e áudio  Quebra-cabeças com controle deslizante, seleção de textos e ícones e escolha da ordem das palavras  Modo que exige menos interação  Verificação inteligente e verificação sem interação  Na verificação inteligente, usuários de baixo risco passam com um único toque. Usuários de maior risco recebem um desafio adicional.  Integração no frontend  new TencentCaptcha(...) com CaptchaAppId  initNECaptcha({ captchaId, ... }) nas demonstrações oficiais da NetEase  Validação no backend  Verificação de ticket e randstr pela API da Tencent  Verificação de validate pela API do YiDun no servidor, com assinatura da requisição  Os identificadores são diferentes. A tarefa TenDI no CapMonster Cloud precisa do aid da Tencent. O captchaId do YiDun não funciona no lugar dele.  Parâmetros da tarefa no CapMonster Cloud O CapMonster Cloud ajuda a contornar a maioria dos tipos de captcha, incluindo o Tencent Captcha. Para criar uma tarefa TenDI para resolver o Tencent Captcha, envie uma requisição POST em formato JSON para https://api.capmonster.cloud/createTask. Os exemplos pressupõem testes automatizados em um site próprio ou em um site ao qual você tem acesso legal.  Parâmetro  Tipo  Obrigatório  Descrição  type  String  Sim  CustomTask  class  String  Sim  TenDI  websiteURL  String  Sim  Endereço da página principal em que o captcha é resolvido.  websiteKey  String  Sim  Identificador captchaAppId, que corresponde ao valor de aid. Exemplo: "189123456".  metadata.captchaUrl  String  Não  URL do script do captcha. Os nomes de arquivo possíveis estão na seção anterior.  metadata.aidEncrypted  String  Não  Sequência criptografada para verificar CaptchaAppId. Quando esse modo está habilitado, o site fornece o valor na resposta. Obtenha o valor atual na resposta do site a cada nova tarefa, sem copiar o exemplo da documentação. Se o site não fornecer o valor, omita o campo. O aid usado como websiteKey é um parâmetro distinto.  userAgent  String  Não  User-Agent do navegador. Use o valor atual retornado pelo endpoint de User-Agent do CapMonster Cloud em vez de fixar uma versão do Chrome no código.  proxyType  String  Não  http, https (somente se http não funcionar), socks4 ou socks5.  proxyAddress  String  Não  Endereço IPv4 ou IPv6 do proxy. Proxies transparentes e proxies em máquinas locais não são permitidos.  proxyPort  Inteiro  Não  Porta do proxy.  proxyLogin  String  Não  Usuário do proxy, se a autenticação exigir usuário e senha.  proxyPassword  String  Não  Senha do proxy, se a autenticação exigir usuário e senha.  Por padrão, o CapMonster Cloud usa proxies integrados, que já estão incluídos no preço. Use um proxy próprio apenas se o site rejeitar o token ou se o acesso aos proxies integrados estiver restrito. Se o seu proxy controlar o acesso por IP, adicione 65.21.190.34 à lista de endereços permitidos.  A resposta traz data.randstr, data.ticket e headers com o User-Agent que você deve manter nas requisições seguintes.  Como criar uma tarefa Substitua os valores de exemplo. Em CURRENT_WINDOWS_UA, use a sequência retornada pelo endpoint de User-Agent no momento em que você criar a tarefa. Inclua aidEncrypted apenas se o site fornecer o valor criptografado. Esse valor é distinto do aid usado como websiteKey.  {   "clientKey": "YOUR_API_KEY",   "task": {     "type": "CustomTask",     "class": "TenDI",     "websiteURL": "https://your-test-site.example/login",     "websiteKey": "YOUR_CAPTCHA_APP_ID",     "userAgent": "CURRENT_WINDOWS_UA",     "metadata": {       "captchaUrl": "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js"     }   } } Exemplo com metadados opcionais. Inclua esse bloco na tarefa somente se o site fornecer aidEncrypted.   {   "metadata": {     "captchaUrl": "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js",     "aidEncrypted": "FRESH_AID_ENCRYPTED_VALUE"   } } Resposta:  {   "errorId": 0,   "taskId": 407533072 } Como obter o resultado A API é assíncrona. Chame getTaskResult com o taskId e repita a consulta, com um intervalo entre as requisições, enquanto o status for processing. Pare de consultar quando a tarefa estiver pronta ou quando a API retornar um erro. Trate o erro antes de tentar de novo. Faça no máximo 120 consultas por tarefa. Se você ultrapassar esse limite, a conta poderá ser bloqueada temporariamente.  {   "clientKey": "YOUR_API_KEY",   "taskId": 407533072 } Resposta quando a tarefa estiver pronta:  {   "errorId": 0,   "cost": 0.0016,   "status": "ready",   "solution": {     "data": {       "randstr": "@EcL",       "ticket": "tr03lHUhdnuW3neJZu.....7LrIbs*"     },     "headers": {       "User-Agent": "CURRENT_WINDOWS_UA"     }   } } Os tickets do Tencent Captcha valem por cinco minutos e só podem ser usados uma vez, mesmo dentro desse prazo. O backend do site deve verificar o ticket e o randstr retornados pela API de verificação da Tencent antes que o ticket expire.  Como encontrar websiteKey e captchaUrl Na página com o CAPTCHA, abra as ferramentas do desenvolvedor. Acesse a aba Network e acione o CAPTCHA. Encontre a requisição que contém o parâmetro aid. O valor desse parâmetro é o websiteKey. Procure por TCaptcha.js ou TCaptcha-global.js entre os scripts carregados. Integrações mais recentes podem usar arquivos no formato TJNCaptcha*.js ou TJCaptcha*.js. Copie a URL do script para metadata.captchaUrl. Os scripts carregados de global.captcha.gtimg.com fazem parte da integração original. Em testes automatizados, você pode usar o Playwright para capturar os parâmetros atuais do CAPTCHA.  Como obter aidEncrypted Se o site usar a verificação de CaptchaAppId com criptografia, o frontend pode obter aidEncrypted em uma requisição separada, como https://example.com/path/GetCaptchaAid.ashx?_=1234567890000. Inspecione a requisição na aba Network, identifique o valor criptografado na resposta e passe-o em metadata.aidEncrypted.  O endpoint e o formato da resposta dependem do site. A Tencent não define GetCaptchaAid.ashx como endpoint padrão. Esse endereço é apenas um exemplo. Obtenha o valor atual para cada tarefa, sem copiar um exemplo da documentação nem reutilizar uma resposta anterior. Se o site não fornecer aidEncrypted, omita o parâmetro. Use o aid sem criptografia da requisição cap_union_prehandle como websiteKey.  Exemplos de código para testar o Tencent Captcha com Node.js e Python Os SDKs oficiais criam a tarefa para resolver o Tencent Captcha e fazem consultas até obter o resultado. Nestes exemplos, o User-Agent atualizado é obtido durante a execução.
Requisição prehandle do Tencent Captcha com o parâmetro de consulta aid

O callback recebe ret, ticket e randstr. O valor ret = 0, por si só, não confirma que a verificação foi bem-sucedida. Um erro de carregamento ou de rede pode gerar o mesmo valor, com um ticket que começa com trerror_. No fluxo normal, o backend precisa validar o ticket pela API da Tencent antes de permitir a ação protegida. Trate as respostas de contingência separadamente, levando em conta ticket, errorCode e a política de recuperação configurada no site. Consulte as orientações da Tencent para recuperação em caso de falha.

Tencent Captcha e NetEase YiDun: quais são as diferenças?

É comum comparar o YiDun com o Tencent Captcha porque os dois serviços oferecem quebra-cabeças com controle deslizante. São produtos distintos. O Tencent Captcha é desenvolvido pela Tencent Cloud, enquanto o NetEase YiDun é desenvolvido pela NetEase.

Os dois produtos oferecem verificação baseada em risco, mas a integração no cliente e a validação no servidor funcionam de formas diferentes. A visão geral da integração do YiDun descreve os tipos de CAPTCHA. A documentação sobre o funcionamento do componente mostra como a avaliação de risco orienta a verificação, e o guia de integração no servidor explica como validar o resultado.

 

Tencent Captcha

NetEase YiDun

Desenvolvedor

Tencent (Tencent Cloud)

NetEase

Desafios no site oficial

Controle deslizante, seleção de elementos da imagem em ordem e áudio

Quebra-cabeças com controle deslizante, seleção de textos e ícones e escolha da ordem das palavras

Modo que exige menos interação

Verificação inteligente e verificação sem interação

Na verificação inteligente, usuários de baixo risco passam com um único toque. Usuários de maior risco recebem um desafio adicional.

Integração no frontend

new TencentCaptcha(...) com CaptchaAppId

initNECaptcha({ captchaId, ... }) nas demonstrações oficiais da NetEase

Validação no backend

Verificação de ticket e randstr pela API da Tencent

Verificação de validate pela API do YiDun no servidor, com assinatura da requisição

Os identificadores são diferentes. A tarefa TenDI no CapMonster Cloud precisa do aid da Tencent. O captchaId do YiDun não funciona no lugar dele.

Parâmetros da tarefa no CapMonster Cloud

O CapMonster Cloud ajuda a contornar a maioria dos tipos de captcha, incluindo o Tencent Captcha. Para criar uma tarefa TenDI para resolver o Tencent Captcha, envie uma requisição POST em formato JSON para https://api.capmonster.cloud/createTask. Os exemplos pressupõem testes automatizados em um site próprio ou em um site ao qual você tem acesso legal.

Parâmetro

Tipo

Obrigatório

Descrição

type

String

Sim

CustomTask

class

String

Sim

TenDI

websiteURL

String

Sim

Endereço da página principal em que o captcha é resolvido.

websiteKey

String

Sim

Identificador captchaAppId, que corresponde ao valor de aid. Exemplo: "189123456".

metadata.captchaUrl

String

Não

URL do script do captcha. Os nomes de arquivo possíveis estão na seção anterior.

metadata.aidEncrypted

String

Não

Sequência criptografada para verificar CaptchaAppId. Quando esse modo está habilitado, o site fornece o valor na resposta. Obtenha o valor atual na resposta do site a cada nova tarefa, sem copiar o exemplo da documentação. Se o site não fornecer o valor, omita o campo. O aid usado como websiteKey é um parâmetro distinto.

userAgent

String

Não

User-Agent do navegador. Use o valor atual retornado pelo endpoint de User-Agent do CapMonster Cloud em vez de fixar uma versão do Chrome no código.

proxyType

String

Não

http, https (somente se http não funcionar), socks4 ou socks5.

proxyAddress

String

Não

Endereço IPv4 ou IPv6 do proxy. Proxies transparentes e proxies em máquinas locais não são permitidos.

proxyPort

Inteiro

Não

Porta do proxy.

proxyLogin

String

Não

Usuário do proxy, se a autenticação exigir usuário e senha.

proxyPassword

String

Não

Senha do proxy, se a autenticação exigir usuário e senha.

Por padrão, o CapMonster Cloud usa proxies integrados, que já estão incluídos no preço. Use um proxy próprio apenas se o site rejeitar o token ou se o acesso aos proxies integrados estiver restrito. Se o seu proxy controlar o acesso por IP, adicione 65.21.190.34 à lista de endereços permitidos.

A resposta traz data.randstr, data.ticket e headers com o User-Agent que você deve manter nas requisições seguintes.

Como criar uma tarefa

Substitua os valores de exemplo. Em CURRENT_WINDOWS_UA, use a sequência retornada pelo endpoint de User-Agent no momento em que você criar a tarefa. Inclua aidEncrypted apenas se o site fornecer o valor criptografado. Esse valor é distinto do aid usado como websiteKey.

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "CustomTask",
    "class": "TenDI",
    "websiteURL": "https://your-test-site.example/login",
    "websiteKey": "YOUR_CAPTCHA_APP_ID",
    "userAgent": "CURRENT_WINDOWS_UA",
    "metadata": {
      "captchaUrl": "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js"
    }
  }
}

Exemplo com metadados opcionais. Inclua esse bloco na tarefa somente se o site fornecer aidEncrypted.


{
  "metadata": {
    "captchaUrl": "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js",
    "aidEncrypted": "FRESH_AID_ENCRYPTED_VALUE"
  }
}

Resposta:

{
  "errorId": 0,
  "taskId": 407533072
}

Como obter o resultado

A API é assíncrona. Chame getTaskResult com o taskId e repita a consulta, com um intervalo entre as requisições, enquanto o status for processing. Pare de consultar quando a tarefa estiver pronta ou quando a API retornar um erro. Trate o erro antes de tentar de novo. Faça no máximo 120 consultas por tarefa. Se você ultrapassar esse limite, a conta poderá ser bloqueada temporariamente.

{
  "clientKey": "YOUR_API_KEY",
  "taskId": 407533072
}

Resposta quando a tarefa estiver pronta:

{
  "errorId": 0,
  "cost": 0.0016,
  "status": "ready",
  "solution": {
    "data": {
      "randstr": "@EcL",
      "ticket": "tr03lHUhdnuW3neJZu.....7LrIbs*"
    },
    "headers": {
      "User-Agent": "CURRENT_WINDOWS_UA"
    }
  }
}

Os tickets do Tencent Captcha valem por cinco minutos e só podem ser usados uma vez, mesmo dentro desse prazo. O backend do site deve verificar o ticket e o randstr retornados pela API de verificação da Tencent antes que o ticket expire.

Como encontrar websiteKey e captchaUrl

  1. Na página com o CAPTCHA, abra as ferramentas do desenvolvedor.
  2. Acesse a aba Network e acione o CAPTCHA.
  3. Encontre a requisição que contém o parâmetro aid. O valor desse parâmetro é o websiteKey.
  4. Procure por TCaptcha.js ou TCaptcha-global.js entre os scripts carregados. Integrações mais recentes podem usar arquivos no formato TJNCaptcha*.js ou TJCaptcha*.js. Copie a URL do script para metadata.captchaUrl.

Os scripts carregados de global.captcha.gtimg.com fazem parte da integração original. Em testes automatizados, você pode usar o Playwright para capturar os parâmetros atuais do CAPTCHA.

Como obter aidEncrypted

Se o site usar a verificação de CaptchaAppId com criptografia, o frontend pode obter aidEncrypted em uma requisição separada, como https://example.com/path/GetCaptchaAid.ashx?_=1234567890000. Inspecione a requisição na aba Network, identifique o valor criptografado na resposta e passe-o em metadata.aidEncrypted.

O endpoint e o formato da resposta dependem do site. A Tencent não define GetCaptchaAid.ashx como endpoint padrão. Esse endereço é apenas um exemplo. Obtenha o valor atual para cada tarefa, sem copiar um exemplo da documentação nem reutilizar uma resposta anterior. Se o site não fornecer aidEncrypted, omita o parâmetro. Use o aid sem criptografia da requisição cap_union_prehandle como websiteKey.

Exemplos de código para testar o Tencent Captcha com Node.js e Python

Os SDKs oficiais criam a tarefa para resolver o Tencent Captcha e fazem consultas até obter o resultado. Nestes exemplos, o User-Agent atualizado é obtido durante a execução.

Node.js (módulo ES)

No terminal, instale o SDK:

npm install @zennolab_com/capmonstercloud-client

Salve o código abaixo em um arquivo .mjs e execute-o com o Node.js 18 ou posterior.

// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
  CapMonsterCloudClientFactory,
  ClientOptions,
  TenDIRequest,
} from "@zennolab_com/capmonstercloud-client";
const API_KEY = "YOUR_API_KEY"; // Your CapMonster Cloud API key
const UA_ENDPOINT = "https://capmonster.cloud/api/useragent/actual";
async function getActualUserAgent() {
  const response = await fetch(UA_ENDPOINT);
  if (!response.ok) {
    throw new Error(`User-Agent endpoint returned HTTP ${response.status}`);
  }
  return (await response.text()).trim();
}
async function solveTenDI() {
  const client = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: API_KEY }),
  );
  const userAgent = await getActualUserAgent();
  const metadata = {
    captchaUrl: "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js", // Optional
  };
  // Only if the website provides aidEncrypted: get the current encrypted value
  // metadata.aidEncrypted = "FRESH_AID_ENCRYPTED_VALUE";
  // Without a proxy, CapMonster Cloud uses its built-in proxies
  const tenDIRequest = new TenDIRequest({
    websiteURL: "https://your-test-site.example/login", // Page with the captcha
    websiteKey: "YOUR_CAPTCHA_APP_ID", // The aid value
    userAgent,
    metadata,
    // To use your own proxy, uncomment:
    // proxy: {
    //   proxyType: "http",
    //   proxyAddress: "203.0.113.10",
    //   proxyPort: 8080,
    //   proxyLogin: "username",
    //   proxyPassword: "password",
    // },
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(tenDIRequest);
  console.log("Solution:", result.solution);
}
solveTenDI().catch(console.error);

Python

No terminal, instale o SDK:

python -m pip install capmonstercloudclient

Salve o código abaixo em um arquivo .py e execute-o com o Python 3.9 ou posterior.

# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
import urllib.request
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TenDiCustomTaskRequest
# Import ProxyInfo if you plan to use your own proxy
# from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY"  # Your CapMonster Cloud API key
UA_ENDPOINT = "https://capmonster.cloud/api/useragent/actual"
def get_actual_user_agent() -> str:
    with urllib.request.urlopen(UA_ENDPOINT, timeout=15) as response:
        return response.read().decode("utf-8").strip()
async def solve_tendi():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    user_agent = await asyncio.to_thread(get_actual_user_agent)
    metadata = {
        "captchaUrl": "https://ca.turing.captcha.qcloud.com/TJNCaptcha-global.js"  # Optional
    }
    # Only if the website provides aidEncrypted: get the current encrypted value
    # metadata["aidEncrypted"] = "FRESH_AID_ENCRYPTED_VALUE"
    # Without a proxy, CapMonster Cloud uses its built-in proxies
    tendi_request = TenDiCustomTaskRequest(
        websiteUrl="https://your-test-site.example/login",  # Page with the captcha
        websiteKey="YOUR_CAPTCHA_APP_ID",  # The aid value
        userAgent=user_agent,
        metadata=metadata,
        # To use your own proxy, uncomment the import above and add:
        # proxy=ProxyInfo(
        #     proxyType="http",
        #     proxyAddress="203.0.113.10",
        #     proxyPort=8080,
        #     proxyLogin="username",
        #     proxyPassword="password",
        # ),
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(tendi_request)
    print("Solution:", result)
asyncio.run(solve_tendi())


 

Perguntas frequentes

É outro nome para o Tencent Captcha. O nome também aparece nos arquivos TCaptcha.js e TCaptcha-global.js da versão original do script. Para verificar se o visitante é humano, o widget pode usar um controle deslizante, um desafio gráfico ou de áudio, ou ainda uma verificação baseada em risco. Nesse último caso, pode não haver desafio. Integrações mais recentes podem carregar o arquivo TJNCaptcha-global.js, mas o produto é o mesmo.

Não. A Tencent Cloud desenvolve o Tencent Captcha, e o YiDun pertence à NetEase. Os dois oferecem quebra-cabeças com controle deslizante e modos que exigem pouca interação, mas os desafios, scripts e identificadores são diferentes. A Tencent usa CaptchaAppId, ticket e randstr. O YiDun usa captchaId e retorna validate para verificação no servidor. A tabela acima detalha as diferenças.

Abra a página com o captcha e acesse a aba Network nas ferramentas do desenvolvedor. Acione o captcha e localize a requisição com o parâmetro aid. Esse valor é o captchaAppId que você deve passar como websiteKey. Se o site for seu, o mesmo identificador fica no console da Tencent Cloud.

A Tencent oferece aidEncrypted como uma sequência criptografada opcional para verificar CaptchaAppId. Em uma tarefa TenDI no CapMonster Cloud, passe o valor fornecido pelo site em metadata.aidEncrypted. Nos sites que usam esse modo, o valor vem do backend, às vezes por meio de uma requisição separada, como GetCaptchaAid.ashx. Use o valor atual do site em vez de copiar um exemplo da documentação. Se o site não o fornecer, omita o campo. Esse valor é distinto do aid sem criptografia, passado como websiteKey.

O ticket é o valor de verificação da Tencent. Já randstr é a sequência aleatória associada à tentativa. No fluxo normal, o backend do site valida os dois valores pela API da Tencent antes de autorizar a ação protegida. O valor ret = 0, por si só, não confirma o sucesso da verificação. Se o ticket começar com trerror_, ele indica uma resposta de contingência. Trate essa resposta separadamente, conforme a política de recuperação do site.

Em geral, não. Por padrão, o CapMonster Cloud usa proxies integrados, que já estão incluídos no preço. Se o site rejeitar o token ou bloquear os proxies integrados, talvez você precise usar um proxy próprio. Informe proxyType, proxyAddress e proxyPort. Inclua proxyLogin e proxyPassword apenas se o proxy exigir autenticação por usuário e senha. Se a autenticação for por IP, adicione 65.21.190.34 à lista de endereços permitidos.

Automação de testes com o CapMonster Cloud

O CapMonster Cloud resolve o Tencent Captcha por meio da tarefa TenDI. Assim, equipes de QA podem executar testes de ponta a ponta dos fluxos de login, cadastro e checkout em seus próprios sites sem resolver manualmente o desafio com controle deslizante. Os parâmetros e exemplos de uso dos SDKs estão na documentação da tarefa TenDI para o Tencent Captcha.


NB: Por favor, observe que o produto é destinado à automação de testes exclusivamente em seus próprios sites e em recursos para os quais você possui autorização legal de acesso.

ItGuy
geear
Programa de afiliados para desenvolvedores de software
Ganhe até 30% dos gastos dos seus usuários com a evasão de captcha
✅ Solicitação enviada
Obrigado pelo seu interesse em nosso programa de parcerias! Entraremos em contato com você dentro de 7 dias úteis.
Solicitação para participar
Preencha o formulário para enviar uma solicitação para o programa de afiliados.
Mais artigos