MTCaptcha

O CapMonster Cloud, por padrão, funciona com proxies integrados — já incluídos no custo do serviço. É necessário especificar seus próprios proxies apenas nos casos em que o site não aceita o token ou quando o acesso aos serviços integrados está restrito.
Se o proxy utiliza autenticação por IP, é necessário adicionar o endereço 65.21.190.34 à lista de permissões (whitelist).
Parâmetros da solicitação
type<string>requiredMTCaptchaTask
websiteURL<string>requiredEndereço da página onde o captcha é resolvido.
websiteKey<string>requiredChave do MTcaptcha, enviada na solicitação nos parâmetros como sk (veja exemplo abaixo de como encontrá-la).
pageAction<string>optionalO parâmetro action é enviado como act e aparece na validação do token. Informe-o apenas se o valor for diferente do padrão - %24.
Exemplo em HTML:
<script>
var mtcaptchaConfig = {
"sitekey": "MTPublic-abCDEFJAB",
"action": "login"
};
</script>
isInvisible<bool>optionaltrue, se o captcha for invisível, ou seja, com campo oculto para confirmação. Em caso de suspeita de bot, uma verificação extra é disparada.
userAgent<string>optionalUser-Agent do navegador.
Transmita apenas o UA atual do sistema operacional Windows. No momento, o válido é: userAgentPlaceholder
proxyType<string>optionalhttp - proxy http/https comum;
https - tente esta opção apenas se "http" não funcionar (necessário para alguns proxies personalizados);
socks4 - proxy socks4;
socks5 - proxy socks5.
proxyAddress<string>optionalEndereço IP do proxy IPv4/IPv6. Não é permitido:
- uso de proxies transparentes (que revelem o IP do cliente);
- uso de proxies em máquinas locais.
proxyPort<integer>optionalPorta do proxy.
proxyLogin<string>optionalLogin do servidor proxy.
proxyPassword<string>optionalSenha do servidor proxy.
Método para criar tarefa
- MTCaptchaTask (sem proxy)
- MTCaptchaTask (com proxy)
https://api.capmonster.cloud/createTask
Solicitação
{
"clientKey": "API_KEY",
"task":
{
"type": "MTCaptchaTask",
"websiteURL": "https://www.example.com",
"websiteKey": "MTPublic-abCDEFJAB",
"isInvisible": false,
"pageAction": "login"
}
}
Resposta
{
"errorId":0,
"taskId":407533077
}
https://api.capmonster.cloud/createTask
Solicitação
{
"clientKey": "API_KEY",
"task":
{
"type": "MTCaptchaTask",
"websiteURL": "https://www.example.com",
"websiteKey": "MTPublic-abCDEFJAB",
"isInvisible": false,
"pageAction": "login",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
}
}
Resposta
{
"errorId":0,
"taskId":407533077
}
Método para obter o resultado da tarefa
Use o método getTaskResult para obter a solução do captcha MTCaptcha.
https://api.capmonster.cloud/getTaskResult
Solicitação
{
"clientKey": "API_KEY",
"taskId": 407533077
}
Resposta
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "v1(155506dc,c8c2e356,MTPublic-abCDEFJAB,70f03532a53...5FSDA**)"
},
"status": "ready"
}
Como encontrar os parâmetros do captcha
websiteKey
Este parâmetro pode ser encontrado na aba Network das Ferramentas de Desenvolvedor.
Procure por solicitações que comecem, por exemplo, com getchallenge.json — o parâmetro sk corresponde ao websiteKey.

pageAction
A mesma solicitação também inclui o parâmetro pageAction: o valor desejado é passado como act.
Por padrão é %24; se for diferente (por exemplo, ..&act=login&...), especifique-o ao criar a tarefa.

Usar biblioteca SDK
- JavaScript
- Python
- C#
Mostrar Código (para navegador)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
document.addEventListener("DOMContentLoaded", async () => {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com", // URL da página com MTCaptcha
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false, // true -- se for usado o MTCaptcha Invisível
pageAction: "login"
});
// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};
mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com",
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder"
});
*/
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result);
});
Mostrar Código (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
async function solveMTCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com", // URL da página com MTCaptcha
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false, // true -- se for usado o MTCaptcha Invisível
pageAction: "login"
});
// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};
mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com",
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder"
});
*/
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result);
}
solveMTCaptcha().catch(console.error);
Mostrar Código
# https://github.com/ZennoLab/capmonstercloud-client-python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import MTCaptchaRequest
# from capmonstercloudclient.requests.baseRequestWithProxy import ProxyInfo # Descomente se planeja usar proxy
API_KEY = "YOUR_API_KEY" # Insira sua chave de API do CapMonster Cloud
async def solve_mt_captcha():
client_options = ClientOptions(api_key=API_KEY)
cap_monster_client = CapMonsterClient(options=client_options)
# Exemplo básico sem proxy
# O CapMonster Cloud usa automaticamente seus próprios proxies
mtcaptcha_request = MTCaptchaRequest(
websiteUrl="https://www.example.com", # URL da página com MTCaptcha
websiteKey="MTPublic-abCDEFJAB",
isInvisible=False, # True, se for MTCaptcha invisível
pageAction="login"
)
# Exemplo de uso do seu próprio proxy
# Descomente este bloco se quiser usar um proxy personalizado
# proxy = ProxyInfo(
# proxyType="http",
# proxyAddress="123.45.67.89",
# proxyPort=8080,
# proxyLogin="username",
# proxyPassword="password"
# )
#
# mtcaptcha_request = MTCaptchaRequest(
# websiteUrl="https://www.example.com",
# websiteKey="MTPublic-abCDEFJAB",
# isInvisible=False,
# pageAction="login",
# proxy=proxy
# )
# Se necessário, você pode verificar o saldo
balance = await cap_monster_client.get_balance()
print("Balance:", balance)
result = await cap_monster_client.solve_captcha(mtcaptcha_request)
print("Solution:", result)
asyncio.run(solve_mt_captcha())
Mostrar Código
// https://github.com/ZennoLab/capmonstercloud-client-dotnet
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
static async Task Main(string[] args)
{
// Insira sua chave de API do CapMonster Cloud
var clientOptions = new ClientOptions
{
ClientKey = "YOUR_API_KEY"
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
var mtcaptchaRequest = new MTCaptchaTaskRequest
{
WebsiteUrl = "https://www.example.com", // URL da página com MTCaptcha
WebsiteKey = "MTPublic-tqNCRE0GS",
Invisible = false, // true -- se for MTCaptcha invisível
PageAction = "login",
UserAgent = "userAgentPlaceholder"
};
// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado
/*
mtcaptchaRequest = new MTCaptchaTaskRequest
{
WebsiteUrl = "https://www.example.com",
WebsiteKey = "MTPublic-tqNCRE0GS",
Invisible = false,
PageAction = "login",
UserAgent = "userAgentPlaceholder,
Proxy = new ProxyContainer(
"123.45.67.89",
8080,
ProxyType.Http,
"username",
"password"
)
};
*/
// Se necessário, você pode verificar o saldo
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var mtcaptchaResult = await cmCloudClient.SolveAsync(mtcaptchaRequest);
Console.WriteLine("MTCaptcha Solution: " + mtcaptchaResult.Solution.Value);
}
}
