Prosopo Procaptcha

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).
O método automático de resolução de CAPTCHA baseado em tokens Prosopo Procaptcha.
Parâmetros da solicitação
type<string>requiredProsopoTask
websiteURL<string>requiredA URL completa da página do CAPTCHA.
websiteKey<string>requiredValor do parâmetro siteKey encontrado na página.
Tem aproximadamente o seguinte formato: 5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV
userAgent<string>optionalUser-Agent do navegador. Use o valor atual compatível com o CapMonster Cloud: userAgentPlaceholder
Você pode obter o valor mais recente em: https://capmonster.cloud/api/useragent/actual.
proxyType<string>optionalhttp - proxy regular http/https;
https - use essa 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 (onde é possível ver 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.
Criar método de tarefa
- ProsopoTask (sem proxy)
- ProsopoTask (com proxy)
https://api.capmonster.cloud/createTask
Exemplo de requisição
{
"clientKey": "API_KEY",
"task": {
"type": "ProsopoTask",
"websiteURL": "https://www.example.com",
"websiteKey": "your-website-key"
}
}
Exemplo de resposta
{
"errorId":0,
"taskId":407533077
}
https://api.capmonster.cloud/createTask
Exemplo de requisição
{
"clientKey": "API_KEY",
"task": {
"type": "ProsopoTask",
"websiteURL": "https://www.example.com",
"websiteKey": "your-website-key",
"proxyType": "your-proxy-type",
"proxyAddress": "your-proxy-address",
"proxyPort": 1234,
"proxyLogin": "your-proxy-login",
"proxyPassword": "your-proxy-password"
}
}
Exemplo de resposta
{
"errorId":0,
"taskId":407533077
}
Obter resultado da tarefa
Use o método getTaskResult para obter a solução Prosopo.
https://api.capmonster.cloud/getTaskResult
Exemplo de requisição
{
"clientKey":"API_KEY",
"taskId": 407533077
}
Exemplo de resposta
{
"errorId":0,
"status":"ready",
"solution":
{
"token": "0x00016c68747470733a2f2f70726f6e6f6465332e70726f736f706f2e696fc0354550516f4d5a454463354c704e376774784d4d7a5950547a4136..."
}
}
Como encontrar o websiteKey
-
Abra o site onde a captcha Prosopo é exibida.
-
Vá para Ferramentas de Desenvolvedor (DevTools) → Network, recarregue a página e localize a requisição que carrega a
image(por exemplo, a requisição de APIhttps://example.prosopo.io/v1/prosopo/provider/client/captcha/image). -
Em Request Headers, encontre o parâmetro
Prosopo-Site-Key, copie seu valor e use-o ao criar a requisição.

Usar biblioteca SDK
- JavaScript / TypeScript
- Python
- C#
Mostrar código (para navegador)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
ProsopoRequest
} from "@zennolab_com/capmonstercloud-client";
document.addEventListener("DOMContentLoaded", async () => {
const API_KEY = "YOUR_API_KEY"; // Informe sua chave de API do CapMonster Cloud
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
});
// Exemplo usando seu proxy
// Descomente este bloco se quiser usar seu próprio proxy
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
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(prosopoRequest);
console.log("Solution:", result.solution);
});
Mostrar código (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
ProsopoRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Informe sua chave de API do CapMonster Cloud
async function solveProCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
});
// Exemplo usando seu proxy
// Descomente este bloco se quiser usar seu próprio proxy
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
prosopoRequest = new ProsopoRequest({
websiteURL: "https://yourwebsite.com/page-with-procaptcha",
websiteKey: "your-website-key",
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(prosopoRequest);
console.log("Solution:", result.solution);
}
solveProCaptcha().catch(console.error);
Mostrar código
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import ProsopoTaskRequest
# Importe ProxyInfo se pretende usar seu próprio proxy
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY" # Informe sua chave de API do CapMonster Cloud
async def solve_procaptcha():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Exemplo básico sem proxy
# O CapMonster Cloud usa automaticamente seus próprios proxies
prosopo_request = ProsopoTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-procaptcha",
websiteKey="your-website-key",
)
# Exemplo usando seu proxy
# Descomente este bloco se quiser usar seu próprio proxy
"""
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password",
)
prosopo_request = ProsopoTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-procaptcha",
websiteKey="your-website-key",
proxy=proxy,
userAgent="userAgentPlaceholder",
)
"""
# Se necessário, você pode verificar o saldo
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(prosopo_request)
print("Solution:", result)
asyncio.run(solve_procaptcha())
Mostrar código
// https://github.com/CapMonsterCloud/capmonster-dotnet-captcha-solver
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
static async Task Main(string[] args)
{
// Informe 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 prosopoRequest = new ProsopoTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-procaptcha",
WebsiteKey = "your-website-key"
};
// Exemplo usando seu proxy
// Descomente este bloco se quiser usar seu próprio proxy
/*
prosopoRequest = new ProsopoTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-procaptcha",
WebsiteKey = "your-website-key",
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 prosopoResult = await cmCloudClient.SolveAsync(prosopoRequest);
Console.WriteLine("Solution: " + prosopoResult.Solution.Value);
}
}
