Castle
CapMonster Cloud 默认通过内置代理工作 —— 它们已包含在价格中。
只有在网站不接受令牌或无法访问内置服务时,才需要指定您自己的代理。
如果您使用基于 IP 认证的代理,请将 65.21.190.34 添加到白名单中。
请求参数
type<string>requiredCustomTask
class<string>requiredCastle
websiteURL<string>requiredCastle 所在页面的 URL。
websiteKey<string>requiredPublishable Key,Castle 的标识符。可在页面或网站脚本中找到。
示例:pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK
wUrl (inside metadata)<string>requiredcw.js 的链接,例如:https://s.rsg.sc/auth/js/20251234bgef/build/cw.js
swUrl (inside metadata)<string>requiredcsw.js 的链接,例如:https://s.rsg.sc/auth/js/20251234bgef/build/cw.js
count (inside metadata)<intenger>optional令牌数量 — 默认值为 1(生成 1 到 49 个绑定到同一浏览器会话的 Castle 令牌,即具有相同的 __cuid 标识符)。
如果指定的值大于 49,则将返回允许的最大令牌数量 49,并按该数量计费。
userAgent<string>optional浏览器的 User-Agent。
请仅传递当前 Windows 系统下的有效 UA。当前推荐值为:userAgentPlaceholder
proxyType<string>optionalhttp - 常规 http/https 代理;
https - 仅当 "http" 无效时使用(某些自定义代理需要);
socks4 - socks4 代理;
socks5 - socks5 代理。
proxyAddress<string>optional代理的 IPv4/IPv6 地址。禁止以下使用方式:
- 使用透明代理(可暴露客户端 IP);
- 使用本地机器上的代理。
proxyPort<integer>optional代理端口。
proxyLogin<string>optional代理服务器登录用户名。
proxyPassword<string>optional代理服务器登录密码。
创建任务的方法
- CustomTask(无代理)
- CustomTask(使用代理)
https://api.capmonster.cloud/createTask
请求
{
"type": "CustomTask",
"Class": "Castle",
"websiteURL": "https://www.example.com/",
"websiteKey": "pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK",
"userAgent": "userAgentPlaceholder",
"metadata": {
"wUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/cw.js",
"swUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/csw.js",
"count":1
}
}
响应
{
"errorId": 0,
"taskId": 123456789
}
https://api.capmonster.cloud/createTask
请求
{
"type": "CustomTask",
"Class": "Castle",
"websiteURL": "https://www.example.com/",
"websiteKey": "pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK",
"userAgent": "userAgentPlaceholder",
"metadata": {
"wUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/cw.js",
"swUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/csw.js",
"count":1
}
"proxyType": "http",
"proxyAddress": "8.8.8.8",
"proxyPort": 8080,
"proxyLogin": "proxyLoginHere",
"proxyPassword": "proxyPasswordHere"
}
}
响应
{
"errorId": 0,
"taskId": 407533072
}
获取任务结果的方法
使用 getTaskResult 方法获取 TenDI 的解决结果。
https://api.capmonster.cloud/getTaskResult
请求
{
"clientKey":"API_KEY",
"taskId": 407533072
}
响应
{
"errorId":0,
"status":"ready",
"solution": {
"data":
{
"tokens":["Q05Ap...H7nYn", "cn9xW...aFl_4", ...]
},
"domains": {
"www.example.com": {
"cookies": {
"__cuid": "6883480a9ab7442d9f97da7307d6ea9c"
}
}
}
}
}
如何获取 Castle 参数
pk (websiteKey)
方法 1:
- 打开包含 Castle 的页面并启动 开发者工具,切换到 Elements(元素) 选项卡。
- 打开搜索(Ctrl + F),输入关键字 pk 或 publishableKey。
- 在页面元素或关联脚本中查找
Publishable Key参数。

方法 2:
如果网站使用 window._env 对象:
复制 pk 的值或在浏览器控制台中执行以下命令:window._env.pk

方法 3:
如果 pk 位于 data-config 中:

复制 pk 的值或在浏览器控制台中使用以下代码:
const script = document.querySelector('script[data-config]');
const config = JSON.parse(script.dataset.config);
config.castle.publishableKey;
cw.js 和 csw.js
在 开发者工具 中,切换到 Network(网络) 选项卡,激活 Castle 并分析网络请求。找到对 cw.js 和 csw.js 文件的请求并复制它们的 URL。

