Basilisk - FaucetPay Captcha

CapMonster Cloud по умолчанию работает через встроенные прокси — они уже включены в стоимость. Указывать собственные прокси требуется только в тех случаях, когда сайт не принимает токен или доступ к встроенным сервисам ограничен.
Если прокси с авторизацией по IP, то необходимо добавить адрес 65.21.190.34 в белый список.
Параметры запроса
type<string>requiredCustomTask
class<string>requiredBasilisk
websiteURL<string>requiredАдрес основной страницы, на которой решается капча.
websiteKey<string>requiredМожно найти в html коде в атрибуте data-sitekey контейнера с капчей или в payload POST-запроса на https://basiliskcaptcha.com/challenge/check-site в поле site_key
Пример: b7890hre6cf2544b2759c19fb2600897
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. Не допускается:
- использование прозрачных прокси;
- использование прокси на локальных машинах.
proxyPort<integer>optionalПорт прокси.
proxyLogin<string>optionalЛогин прокси-сервера.
proxyPassword<string>optionalПароль прокси-сервера.
Метод создания задачи
https://api.capmonster.cloud/createTask
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/createTask
Подробнее в разделе createTask.
- CustomTask (без прокси)
- CustomTask (с использованием прокси)
Пример запроса
{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "Basilisk",
"websiteURL": "https://domain.io/account/register",
"websiteKey": "your-website-key",
"userAgent": "userAgentPlaceholder"
}
}
Пример ответа
{
"errorId": 0,
"taskId": 407533072
}
Пример запроса
{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "Basilisk",
"websiteURL": "https://domain.io/account/register",
"websiteKey": "your-website-key",
"userAgent": "userAgentPlaceholder",
"proxyType": "your-proxy-type",
"proxyAddress": "your-proxy-address",
"proxyPort": 1234,
"proxyLogin": "your-proxy-login",
"proxyPassword": "your-proxy-password"
}
}
Пример ответа
{
"errorId": 0,
"taskId": 407533072
}
Метод получения результата задачи
Используйте метод getTaskResult, чтобы получить решение Basilisk.
https://api.capmonster.cloud/getTaskResult
Для пользователей из России также доступен:
https://ru.api.capmonster.cloud/getTaskResult
Подробнее в разделе getTaskResult.
Пример запроса
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Пример ответа
{
"errorId": 0,
"status": "ready",
"solution": {
"data": {
"captcha_response": "5620301f30daf284b829fba66fa9b3d0"
},
"headers": {
"User-Agent": "userAgentPlaceholder"
}
}
}
Как найти все нужные параметры для создания задачи на решение
Вручную
- Откройте ваш сайт, где отображается капча, в браузере.
- Правой кнопкой кликните по элементу капчи и выберите Inspect.
websiteKey
Во вкладке Network фильтруйте запросы по ключевым словам, связанным с капчей, например, site_key. В запросах будет присутствовать параметр site_key – параметр для идентификации сайта в процессе прохождения капчи:

Автоматически
Для автоматизации поиска параметров их можно извлекать через браузер (обычный или headless, например, с Playwright) или напрямую из HTTP-запросов. Поскольку значения динамических параметров действуют недолго, их рекомендуется использовать сразу после получения.
Приведённые фрагменты кода являются базовыми примерами для ознакомления в извлечении необходимых параметров. Точная реализация будет зависеть от вашего сайта с капчей, его структуры и используемых HTML-элементов и селекторов.
- JavaScript
- Python
- C#
Показать код (для браузера)
// Ищем элемент с атрибутом data-sitekey
const captchaElement = document.querySelector('[data-sitekey]');
// Извлекаем значение sitekey
if (captchaElement) {
const siteKey = captchaElement.getAttribute('data-sitekey');
console.log('Found site-key:', siteKey);
} else {
console.log('site-key not found');
}
Показать код (Node.js)
import { chromium } from 'playwright';
async function extractSiteKey() {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
const url = 'https://example.com';
await page.goto(url);
// Ищем элемент с атрибутом data-sitekey
const captchaElement = await page.$('[data-sitekey]');
// Извлекаем значение sitekey
if (captchaElement) {
const siteKey = await captchaElement.getAttribute('data-sitekey');
console.log('Found site-key:', siteKey);
} else {
console.log('site-key not found');
}
await browser.close();
}
extractSiteKey();
Показать код
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch(headless=False)
page = await browser.new_page()
url = 'https://example.com/captcha-page'
await page.goto(url)
# Ищем элемент с атрибутом data-sitekey
captcha_element = await page.query_selector('[data-sitekey]')
# Извлекаем значение sitekey, если элемент найден
if captcha_element:
site_key = await captcha_element.get_attribute('data-sitekey')
print('Found site-key:', site_key)
else:
print('site-key not found')
await browser.close()
asyncio.run(main())
Показать код
using System;
using System.Threading.Tasks;
using Microsoft.Playwright;
class Program
{
static async Task Main(string[] args)
{
string url = "https://example.com/captcha-page";
using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions {
Headless = false });
var page = await browser.NewPageAsync();
await page.GotoAsync(url);
// Ищем элемент с атрибутом data-sitekey
var captchaElement = await page.QuerySelectorAsync("[data-sitekey]");
// Извлекаем значение sitekey, если элемент найден
if (captchaElement != null)
{
var siteKey = await captchaElement.GetAttributeAsync("data-sitekey");
Console.WriteLine("Found site-key: " + siteKey);
}
else
{
Console.WriteLine("site-key not found");
}
await browser.CloseAsync();
}
}
Используйте библиотеку SDK
- JavaScript / TypeScript
- Python
- C#
Показать код (для браузера)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
BasiliskRequest
} 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 basiliskRequest = new BasiliskRequest({
websiteURL: "https://yourwebsite.com/page-with-basilisk",
websiteKey: "your-website-key",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
basiliskRequest = new BasiliskRequest({
websiteURL: "https://yourwebsite.com/page-with-basilisk",
websiteKey: "your-website-key",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(basiliskRequest);
console.log("Solution:", result.solution);
});
Показать код (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
BasiliskRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud
async function solveBasilisk() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Базовый пример без прокси
// CapMonster Cloud автоматически использует собственные прокси
let basiliskRequest = new BasiliskRequest({
websiteURL: "https://yourwebsite.com/page-with-basilisk",
websiteKey: "your-website-key",
});
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password",
};
basiliskRequest = new BasiliskRequest({
websiteURL: "https://yourwebsite.com/page-with-basilisk",
websiteKey: "your-website-key",
proxy,
userAgent: "userAgentPlaceholder",
});
*/
// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(basiliskRequest);
console.log("Solution:", result.solution);
}
solveBasilisk().catch(console.error);
Показать код
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import BasiliskCustomTaskRequest
# Импортируйте ProxyInfo, если планируете использовать собственный прокси
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY" # Укажите ваш API-ключ CapMonster Cloud
async def solve_basilisk():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Базовый пример без прокси
# CapMonster Cloud автоматически использует собственные прокси
basilisk_request = BasiliskCustomTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-basilisk",
websiteKey="your-website-key",
)
# Пример с использованием вашего прокси
# Раскомментируйте этот блок, если хотите использовать свой прокси
"""
proxy = ProxyInfo(
proxyType="http",
proxyAddress="123.45.67.89",
proxyPort=8080,
proxyLogin="username",
proxyPassword="password",
)
basilisk_request = BasiliskCustomTaskRequest(
websiteUrl="https://yourwebsite.com/page-with-basilisk",
websiteKey="your-website-key",
proxy=proxy,
userAgent="userAgentPlaceholder",
)
"""
# При необходимости можно проверить баланс
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(basilisk_request)
print("Solution:", result)
asyncio.run(solve_basilisk())
Показать код
// 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 basiliskRequest = new BasiliskCustomTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-basilisk",
WebsiteKey = "your-website-key"
};
// Пример с использованием вашего прокси
// Раскомментируйте этот блок, если хотите использовать свой прокси
/*
basiliskRequest = new BasiliskCustomTaskRequest
{
WebsiteUrl = "https://yourwebsite.com/page-with-basilisk",
WebsiteKey = "your-website-key",
UserAgent = "userAgentPlaceholder",
Proxy = new ProxyContainer(
"123.45.67.89",
8080,
ProxyType.Http,
"username",
"password"
)
};
*/
// При необходимости можно проверить баланс
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var basiliskResult = await cmCloudClient.SolveAsync(basiliskRequest);
Console.WriteLine("Solution Data: " + string.Join(", ", basiliskResult.Solution.Data));
Console.WriteLine("Solution Headers: " + string.Join(", ", basiliskResult.Solution.Headers));
}
}
