跳转到主要内容
获取令牌时遇到问题吗
联系支持

Basilisk - FaucetPay 验证码

注意!

CapMonster Cloud 默认通过内置代理工作——这些代理已包含在费用内。仅当网站不接受令牌或对内置服务的访问受限时,才需要指定您自己的代理。

如果代理按 IP 授权,请将地址 65.21.190.34 加入白名单。

请求参数

type<string>required

CustomTask


class<string>required

Basilisk


websiteURL<string>required

解决验证码的主页地址。


websiteKey<string>required

可以在验证码容器的data-sitekey属性中或在向 https://basiliskcaptcha.com/challenge/check-site发送的 POST 请求的 site_key字段中找到。


userAgent<string>optional

浏览器的 User-Agent。
请仅传递当前 Windows 系统下的有效 UA。当前推荐值为userAgentPlaceholder


proxyType<string>optional

http - 普通的 http/https 代理;
https - 仅在 "http" 不起作用时尝试(某些自定义代理服务器要求);
socks4 - socks4 代理;
socks5 - socks5 代理。


proxyAddress<string>optional

代理 IP 地址 IPv4/IPv6。不允许:

  • 使用透明代理(其中客户端 IP 可见);
  • 使用来自本地网络的代理。


proxyPort<integer>optional

代理端口。


proxyLogin<string>optional

代理登录。


proxyPassword<string>optional

代理密码。

创建任务方法

POST
https://api.capmonster.cloud/createTask

请求

{
"clientKey": "API_KEY",
"task": {
"type": "CustomTask",
"class": "Basilisk",
"websiteURL": "https://domain.io/account/register",
"websiteKey": "b7890hre5cf2544b2759c19fb2600897",
"userAgent": "userAgentPlaceholder"
}
}

响应

{
"errorId": 0,
"taskId": 407533072
}

获取任务结果方法

使用方法getTaskResult获取Basilisk解决方案。

POST
https://api.capmonster.cloud/getTaskResult

要求

{
"clientKey":"API_KEY",
"taskId": 407533072
}

回应

{
"errorId":0,
"status":"ready",
"solution": {
"data": {
"captcha_response": "5620301f30daf284b829fba66fa9b3d0"
},
"headers": {
"User-Agent": "userAgentPlaceholder"
}
}
}

如何查找任务创建所需的所有参数

手动方式

  1. 请在浏览器中访问您的网站,该网站包含验证码功能。
  2. 右键点击验证码元素,选择 检查(Inspect)

websiteKey

网络 (Network) 选项卡中,使用与验证码相关的关键词过滤请求,比如 site_key。这些请求会包含 site_key 参数——这是一个用于在验证码解决过程中识别网站的值:

site-key-basilisk

自动方法

为了自动化获取所需参数,可以通过 浏览器(普通模式或 headless 模式,例如使用 Playwright)进行提取,或直接从 HTTP 请求中获取。由于动态参数的有效时间较短,建议在获取后尽快使用。

重要

所提供的代码片段仅作为获取必要参数的基础示例。具体实现方式取决于包含验证码的网站、本身的页面结构,以及所使用的 HTML 元素和选择器。

显示代码(浏览器中)
// 查找具有 data-sitekey 属性的元素
const captchaElement = document.querySelector('[data-sitekey]');

// 提取 sitekey 值
if (captchaElement) {
const siteKey = captchaElement.getAttribute('data-sitekey');
console.log('找到 site-key:', siteKey);
} else {
console.log('未找到 site-key');
}
显示代码(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('找到 site-key:', siteKey);
} else {
console.log('未找到 site-key');
}

await browser.close();
}

extractSiteKey();

使用 SDK 库

显示代码(用于浏览器)
// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, BasiliskRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = "YOUR_API_KEY"; // 输入您的 CapMonster Cloud API 密钥

document.addEventListener("DOMContentLoaded", async () => {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);

// 基本示例,无需代理
// CapMonster Cloud 会自动使用它们的代理
let basiliskRequest = new BasiliskRequest({
websiteURL: "https://example.com", // Basilisk 页面 URL
websiteKey: "b3760bfe5cf4254b2759c19fg2698og"" // 替换为正确的值
});

// 使用您自己的代理的示例
// 如果想使用自己的代理,请取消注释以下代码块
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};

basiliskRequest = new BasiliskRequest({
websiteURL: "https://example.com",
websiteKey: "b3760bfe5cf4254b2759c19fg2698og",
proxy,
userAgent: "userAgentPlaceholder"
});
*/

// 如有必要,可以检查余额
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(basiliskRequest);
console.log("Solution:", result);
});
显示代码 (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, BasiliskRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = "YOUR_API_KEY"; // 输入您的 CapMonster Cloud API 密钥

async function solveBasilisk() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);

// 基本示例,无需代理
// CapMonster Cloud 会自动使用它们的代理
let basiliskRequest = new BasiliskRequest({
websiteURL: "https://example.com", // Basilisk 页面 URL
websiteKey: "b3760bfe5cf4254b2759c19fg2698og" // 替换为正确的值
});

// 使用您自己的代理的示例
// 如果想使用自己的代理,请取消注释以下代码块
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};

basiliskRequest = new BasiliskRequest({
websiteURL: "https://example.com",
websiteKey: "b3760bfe5cf4254b2759c19fg2698og",
proxy,
userAgent: "userAgentPlaceholder"
});
*/

// 如有必要,可以检查余额
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(basiliskRequest);
console.log("Solution:", result);
}

solveBasilisk().catch(console.error);