Binance - Binance captcha

-
CapMonster Cloud по умолчанию работает через встроенные прокси — они уже включены в стоимость. Указывать собственные прокси требуется только в тех случаях, когда сайт не принимает токен или доступ к встроенным сервисам ограничен.
-
Если прокси с авторизацией по IP, то необходимо добавить адрес 65.21.190.34 в белый список.
-
Используйте только для входа в систему с помощью своей учетной записи.
Параметры запроса
ВАЖНО: значения некоторых параметров являются динамическими — они меняются при каждом рендеринге страницы с Binance.
Извлекайте их непосредственно перед созданием задачи, чтобы избежать ошибок при решении. Примеры извлечения параметров см. в разделе Как получить websiteKey и validateId.
type<string>requiredBinanceTask
websiteURL<string>requiredАдрес основной страницы, на которой решается капча.
websiteKey<string>requiredУникальный параметр для раздела вашего сайта. Значение параметра bizId, bizType или bizCode. Его можно взять из трафика (см. описание ниже).
Пример формата: login
validateId<string>requiredДинамический ключ. Значение параметра validateId, securityId или securityCheckResponseValidateId. Его можно взять из трафика (см. описание ниже).
Пример формата: cb0bfefa598b4c3887661fde54ecd57b
userAgent<string>optionalUser-Agent браузера. Используйте текущее значение, поддерживаемое CapMonster Cloud: userAgentPlaceholder
Получить актуальное значение можно по адресу: https://capmonster.cloud/api/useragent/actual.
proxyType<string>optionalhttp - обычный http/https прокси;
https - попробуйте эту опцию только если "http" не работает (требуется для некоторых кастомных прокси);
socks4 - socks4 прокси;
socks5 - socks5 прокси.
proxyAddress<string>optionalIP адрес прокси IPv4/IPv6. Не допускается:
- использование прозрачных прокси (там где можно видеть IP клиента);
- использование прокси на локальных машинах.
proxyPort<integer>optionalПорт прокси.
proxyLogin<string>optionalЛогин прокси-сервера.
proxyPassword<string>optionalПароль прокси-сервера.
Метод создания задачи
https://api.capmonster.cloud/createTask
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/createTask
Подробнее в разделе createTask.
- BinanceTask (без прокси)
- BinanceTask (при использовании прокси)
Пример запроса
{
"clientKey": "API_KEY",
"task": {
"type": "BinanceTask",
"websiteURL": "https://yourwebsite.com/page-with-binance",
"websiteKey": "your-website-key",
"validateId": "your-validate-id",
"userAgent": "userAgentPlaceholder"
}
}
Пример ответа
{
"errorId":0,
"taskId":407533072
}
Пример запроса
{
"clientKey": "API_KEY",
"task": {
"type": "BinanceTask",
"websiteURL": "https://yourwebsite.com/page-with-binance",
"websiteKey": "your-website-key",
"validateId": "your-validate-id",
"userAgent": "userAgentPlaceholder",
"proxyType": "your-proxy-type",
"proxyAddress": "your-proxy-address",
"proxyPort": 1234,
"proxyLogin": "your-proxy-login",
"proxyPassword": "your-proxy-password",
"userAgent": "userAgentPlaceholder"
}
}
Пример ответа
{
"errorId":0,
"taskId":407533072
}
Метод получения результата задачи
Используйте метод getTaskResult, чтобы получить решение Binance.
https://api.capmonster.cloud/getTaskResult
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/getTaskResult
Подробнее в разделе getTaskResult.
Пример запроса
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Пример ответа
{
"errorId": 0,
"status": "ready",
"solution": {
"token": "captcha#09ba4905a79f44f2a99e44f234439644-ioVA7neog7eRHCDAsC0MixpZvt5kc99maS943qIsquNP9D77",
"userAgent": "userAgentPlaceholder"
}
}
Как получить websiteKey и validateId
Включите инструменты разработчика, перейдите на вкладку Network, активируйте капчу и посмотрите запросы. В некоторых из них будет нужное вам значение параметров. Например, параметры:
bizCode: "CMC_register", securityId: "09295759baca4d4fbeae80d9ffeaefd8"

или
bizId: "CMC_register", securityCheckResponseValidateId: "09295759baca4d4fbeae80d9ffeaefd8"

или
bizType: "login", validateId: "ff965ea6216b46f3825fa827ecaf297f"

или
bizId: "login", securityCheckResponseValidateId: "ff965ea6216b46f3825fa827ecaf297f"
Необходимые для решения капчи параметры можно получить, выполнив 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;
};
}
});
Затем можно получить параметры, например, так: BCaptchaData.securityCheckResponseValidateId.
Используйте библиотеку SDK
- JavaScript / TypeScript
- Python
- C#
Показать код (для браузера)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
BinanceRequest
} from "@zennolab_com/capmonstercloud-client";
document.addEventListener("DOMContentLoaded", async () => {
const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
let binanceRequest = new BinanceRequest({
websiteURL: "https://yourwebsite.com/page-with-binance-captcha",
websiteKey: "your-website-key",
validateId: "your-validate-id",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
binanceRequest = new BinanceRequest({
websiteURL: "https://yourwebsite.com/page-with-binance-captcha",
websiteKey: "your-website-key",
validateId: "your-validate-id",
proxy,
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(binanceRequest);
console.log("Solution:", result.solution);
});
Показать код (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
BinanceRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud
async function solveBinanceCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
let binanceRequest = new BinanceRequest({
websiteURL: "https://yourwebsite.com/page-with-binance-captcha",
websiteKey: "your-website-key",
validateId: "your-validate-id",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
binanceRequest = new BinanceRequest({
websiteURL: "https://yourwebsite.com/page-with-binance-captcha",
websiteKey: "your-website-key",
validateId: "your-validate-id",
proxy,
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(binanceRequest);
console.log("Solution:", result.solution);
}
solveBinanceCaptcha().catch(console.error);
Показать код
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import BinanceTaskRequest
# Импортируйте ProxyInfo, если планируете использовать собственный прокси
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY" # Укажите ваш API-ключ CapMonster Cloud
async def solve_binance_captcha():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Базовый пример без прокси
# CapMonster Cloud автоматически использует собственные прокси
binance_request = BinanceTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-binance-captcha",
websiteKey="your-website-key",
validateId="your-validate-id",
)
# Пример с использованием вашего прокси
# Раскомментируйте этот блок, если хотите использовать свой прокси
"""
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password",
)
binance_request = BinanceTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-binance-captcha",
websiteKey="your-website-key",
validateId="your-validate-id",
proxy=proxy,
)
"""
# При необходимости можно проверить баланс
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(binance_request)
print("Solution:", result)
asyncio.run(solve_binance_captcha())
Показать код
// 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)
{
// Укажите ваш API-ключ CapMonster Cloud
var clientOptions = new ClientOptions
{
ClientKey = "YOUR_API_KEY"
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
var binanceRequest = new BinanceTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-binance-captcha",
WebsiteKey = "your-website-key",
ValidateId = "your-validate-id",
UserAgent = "userAgentPlaceholder"
};
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
binanceRequest = new BinanceTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-binance-captcha",
WebsiteKey = "your-website-key",
ValidateId = "your-validate-id",
UserAgent = "userAgentPlaceholder",
Proxy = new ProxyContainer(
"123.45.67.89",
8080,
ProxyType.Http,
"username",
"password"
)
};
*/
// При необходимости можно проверить баланс
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var binanceResult = await cmCloudClient.SolveAsync(binanceRequest);
Console.WriteLine("Solution: " + binanceResult.Solution.Value);
}
}
