Basilisk - FaucetPay Captcha
Esta tarefa será executada usando nossos servidores proxy.
Parâmetros da solicitação
type
<string>requiredCustomTask
class
<string>requiredBasilisk
websiteURL
<string>requiredO endereço da página principal onde o captcha é resolvido.
websiteKey
<string>requiredPode ser encontrado no código HTML no atributo data-sitekey do contêiner do captcha ou no payload de uma solicitação POST para https://basiliskcaptcha.com/challenge/check-site
no campo site_key
userAgent
<string>optionalUser-Agent do navegador. Passe apenas o UA atual do sistema operacional Windows. Agora este é: userAgentPlaceholder
Criar tarefa
https://api.capmonster.cloud/createTask
Solicitação
{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "Basilisk",
"websiteURL": "https://domain.io/account/register",
"websiteKey": "b7890hre5cf2544b2759c19fb2600897",
"userAgent": "userAgentPlaceholder"
}
}
Resposta
{
"errorId":0,
"taskId":407533072
}
Obter o resultado da tarefa
Use o método getTaskResult para obter a solução do Basilisk.
https://api.capmonster.cloud/getTaskResult
Solicitação
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Resposta
{
"errorId":0,
"status":"ready",
"solution": {
"data": {
"captcha_response": "5620301f30daf284b829fba66fa9b3d0"
},
"headers": {
"User-Agent": "userAgentPlaceholder"
}
}
}
Como Encontrar Todos os Parâmetros Necessários para a Criação da Tarefa
Manualmente
- Abra seu site onde o captcha aparece no navegador.
- Clique com o botão direito no elemento do captcha e selecione Inspecionar.
websiteKey
Na aba Network, filtre as requisições usando palavras-chave relacionadas a captchas, como site_key. Essas requisições conterão o parâmetro site_key — um valor usado para identificar o site durante o processo de resolução do captcha:
Automaticamente
Uma forma conveniente de automatizar a busca por todos os parâmetros necessários.
Alguns parâmetros são regenerados a cada carregamento da página, então você precisará extraí-los através de um navegador — seja normal ou headless (por exemplo, usando Playwright).
Como os valores dos parâmetros dinâmicos são de curta duração, o captcha deve ser resolvido imediatamente após a captura deles.
Os trechos de código fornecidos são exemplos básicos para familiarização com a extração dos parâmetros necessários. A implementação exata dependerá da sua página de captcha, sua estrutura e dos elementos/seletores HTML que ela utiliza.
- JavaScript
- Python
- C#
Mostrar código (para navegador)
// Procure por um elemento com o atributo data-sitekey
const captchaElement = document.querySelector('[data-sitekey]');
// Extraia o valor do sitekey
if (captchaElement) {
const siteKey = captchaElement.getAttribute('data-sitekey');
console.log('Site-key encontrado:', siteKey);
} else {
console.log('site-key não encontrado');
}
Mostrar código (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);
// Procure por um elemento com o atributo data-sitekey
const captchaElement = await page.$('[data-sitekey]');
// Extraia o valor do sitekey
if (captchaElement) {
const siteKey = await captchaElement.getAttribute('data-sitekey');
console.log('Site-key encontrado:', siteKey);
} else {
console.log('site-key não encontrado');
}
await browser.close();
}
extractSiteKey();
Mostrar código
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)
# Procure por um elemento com o atributo data-sitekey
captcha_element = await page.query_selector('[data-sitekey]')
# Extraia o valor do sitekey se o elemento for encontrado
if captcha_element:
site_key = await captcha_element.get_attribute('data-sitekey')
print('Site-key encontrado:', site_key)
else:
print('site-key não encontrado')
await browser.close()
asyncio.run(main())
Mostrar código
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);
// Procure por um elemento com o atributo data-sitekey
var captchaElement = await page.QuerySelectorAsync("[data-sitekey]");
// Extraia o valor do sitekey se o elemento for encontrado
if (captchaElement != null)
{
var siteKey = await captchaElement.GetAttributeAsync("data-sitekey");
Console.WriteLine("Site-key encontrado: " + siteKey);
}
else
{
Console.WriteLine("site-key não encontrado");
}
await browser.CloseAsync();
}
}
Usar biblioteca SDK
- JavaScript
- Python
- C#
// https://github.com/ZennoLab/capmonstercloud-client-js
import { CapMonsterCloudClientFactory, ClientOptions, BasiliskRequest } from '@zennolab_com/capmonstercloud-client';
document.addEventListener('DOMContentLoaded', async () => {
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: '<your capmonster.cloud API key>' }));
console.log(await cmcClient.getBalance());
const basiliskRequest = new BasiliskRequest({
websiteURL: 'https://example.com',
websiteKey: 'websiteKey',
});
console.log(await cmcClient.Solve(basiliskRequest));
});
# https://github.com/ZennoLab/capmonstercloud-client-python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import BasiliskCustomTaskProxylessRequest
client_options = ClientOptions(api_key="your_api_key") # Replace with your CapMonster Cloud API key
cap_monster_client = CapMonsterClient(options=client_options)
basilisk_request = BasiliskCustomTaskProxylessRequest(
websiteUrl="https://example.com", # URL with captcha
websiteKey="b3760bfe5cf4254b2759c19fg2698og" # Replace with the correct website key
)
async def solve_captcha():
return await cap_monster_client.solve_captcha(basilisk_request)
responses = asyncio.run(solve_captcha())
print(responses)
// https://github.com/ZennoLab/capmonstercloud-client-dotnet
using Zennolab.CapMonsterCloud.Requests;
using Zennolab.CapMonsterCloud;
class Program
{
static async Task Main(string[] args)
{
var clientOptions = new ClientOptions
{
ClientKey = "your_api_key" // Replace with your CapMonster Cloud API key
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
var basiliskRequest = new BasiliskCustomTaskProxylessRequest
{
WebsiteUrl = "https://example.com", // URL with captcha
WebsiteKey = "b3760bfe5cf4254b2759c19fg2698og" // Replace with the correct website key
};
var basiliskResult = await cmCloudClient.SolveAsync(basiliskRequest);
Console.WriteLine("Captcha Solution: " + string.Join(", ", basiliskResult.Solution.Data));
Console.WriteLine("Captcha Solution: " + string.Join(", ", basiliskResult.Solution.Headers));
}
}