Binance - Binance captcha

-
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).
-
Use apenas para fazer login com sua conta.
Parâmetros da solicitação
type<string>requiredBinanceTask
websiteURL<string>requiredO endereço da página principal onde o CAPTCHA é resolvido.
websiteKey<string>requiredUm parâmetro exclusivo para a seção do seu site. O valor do parâmetro bizId, bizType ou bizCode. Ele pode ser obtido a partir do tráfego (veja a descrição abaixo).
validateId<string>requiredUma chave dinâmica. O valor do parâmetro validateId, securityId ou securityCheckResponseValidateId. Ele pode ser obtido a partir do tráfego (veja a descrição abaixo).
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 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
- BinanceTask (sem proxy)
- BinanceTask (com proxy)
https://api.capmonster.cloud/createTask
Solicitação
{
"clientKey": "API_KEY",
"task":
{
"type": "BinanceTask",
"websiteURL": "https://example.com",
"websiteKey": "login",
"validateId": "cb0bfefa598b4c3887661fde54ecd57b",
"userAgent": "userAgentPlaceholder"
}
}
Resposta
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/createTask
Solicitação
{
"clientKey": "API_KEY",
"task":
{
"type": "BinanceTask",
"websiteURL": "https://example.com",
"websiteKey": "login",
"validateId": "cb0bfefa598b4c3887661fde54ecd57b",
"userAgent": "userAgentPlaceholder",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
}
}
Resposta
{
"errorId":0,
"taskId":407533072
}
Obter resultado da tarefa
Use o método getTaskResult para obter a solução Binance.
https://api.capmonster.cloud/getTaskResult
Solicitação
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Resposta
{
"errorId":0,
"status":"ready",
"solution":
{
"token":"captcha#09ba4905a79f44f2a99e44f234439644-ioVA7neog7eRHCDAsC0MixpZvt5kc99maS943qIsquNP9D77",
"userAgent":"userAgentPlaceholder"
}
}
Como obter websiteKey e validateId
Habilite as ferramentas de desenvolvedor, vá para a aba "Network", ative o CAPTCHA e observe as requisições. Algumas delas conterão os valores dos parâmetros necessários. Por exemplo, os parâmetros:
bizCode: "CMC_register", securityId: "09295759baca4d4fbeae80d9ffeaefd8"

or
bizId: "CMC_register", securityCheckResponseValidateId: "09295759baca4d4fbeae80d9ffeaefd8"

or
bizType: "login", validateId: "ff965ea6216b46f3825fa827ecaf297f"

or
bizId: "login", securityCheckResponseValidateId: "ff965ea6216b46f3825fa827ecaf297f"
Os parâmetros necessários para resolver o captcha podem ser obtidos executando JavaScript:
let originalBCaptcha = window.BCaptcha;
let BCaptchaData;
Object.defineProperty(window, 'BCaptcha', {
get: function() {
return function(args) {
const BCaptcha = new originalBCaptcha(args);
let BCaptchaShow = BCaptcha.__proto__.show;
BCaptcha.__proto__.show = function(args) {
BCaptchaData = args;
return 1;
};
return BCaptcha;
};
}
});
Em seguida, você pode recuperar os parâmetros, por exemplo, da seguinte forma BCaptchaData.securityCheckResponseValidateId.
Usar biblioteca SDK
- JavaScript
- Python
- C#
Mostrar Código (para navegador)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, BinanceRequest } 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 binanceRequest = new BinanceRequest({
websiteURL: 'https://example.com', // URL da página com captcha Binance
websiteKey: 'login', // Substitua pelo valor correto
validateId: 'cb0bfefa598b4c3887661fde54ecd57b'
});
// 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"
};
binanceRequest = new BinanceRequest({
websiteURL: 'https://example.com',
websiteKey: 'login',
validateId: 'cb0bfefa598b4c3887661fde54ecd57b',
proxy
});
*/
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(binanceRequest);
console.log("Solution:", result);
});
Mostrar Código (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, BinanceRequest } from '@zennolab_com/capmonstercloud-client';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
async function solveBinanceCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let binanceRequest = new BinanceRequest({
websiteURL: 'https://example.com', // URL da página com captcha Binance
websiteKey: 'login', // Substitua pelo valor correto
validateId: 'cb0bfefa598b4c3887661fde54ecd57b'
});
// 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"
};
binanceRequest = new BinanceRequest({
websiteURL: 'https://example.com',
websiteKey: 'login',
validateId: 'cb0bfefa598b4c3887661fde54ecd57b',
proxy
});
*/
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(binanceRequest);
console.log("Solution:", result);
}
solveBinanceCaptcha().catch(console.error);
Mostrar Código
# https://github.com/ZennoLab/capmonstercloud-client-python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import BinanceTaskRequest
# 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_binance():
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
binance_request = BinanceTaskRequest(
websiteUrl="https://example.com", # URL da página com captcha Binance
websiteKey="login", # Substitua pelo valor correto
validateId="cb0bfefa598b4c3887661fde54ecd57b", # Substitua pelo validateId correto
userAgent="userAgentPlaceholder" # Use um UserAgent atual
)
# 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"
# )
#
# binance_request = BinanceTaskRequest(
# websiteUrl="https://example.com",
# websiteKey="login",
# validateId="cb0bfefa598b4c3887661fde54ecd57b",
# userAgent="userAgentPlaceholder",
# 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(binance_request)
print("Solution:", result)
asyncio.run(solve_binance())
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 binanceRequest = new BinanceTaskRequest
{
WebsiteUrl = "https://example.com", // URL da página com captcha Binance
WebsiteKey = "login", // Substitua pelo valor correto
ValidateId = "cb0bfefa598b4c3887661fde54ecd57b",
UserAgent = "userAgentPlaceholder" // Use um UserAgent atual
};
// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado
/*
binanceRequest = new BinanceTaskRequest
{
WebsiteUrl = "https://example.com",
WebsiteKey = "login",
ValidateId = "cb0bfefa598b4c3887661fde54ecd57b",
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 binanceResult = await cmCloudClient.SolveAsync(binanceRequest);
Console.WriteLine("Binance Solution: " + binanceResult.Solution.Value);
}
}
