@2captcha/captcha-solver

中文文档
1.4.0发布于 2026/10/20MITTypeScriptCommonJS近 30 天下载 13.1万

JavaScript库与2captcha Captcha解析服务的API方便地集成,以绕过 reCAPTCHA, funcaptcha, geetest 并解决任何其他captcha.

中文使用文档
文档目录57 节
  1. 安装
  2. 配置
  3. 2 Captcha 实例选项
  4. 解决卡布查
  5. Captcha 选项
  6. 图像卡布查
  7. 重击V2
  8. 重击V3
  9. 乐趣卡普查
  10. 吉特·卡普查(英语:Gee Test Captcha)
  11. Gee Test V4 Captcha (英语)
  12. Yandex 智能卡普查
  13. 勒明已裁剪 Captcha
  14. 云花花转弯
  15. 亚马逊WAF
  16. 队长
  17. 数据Dome CAPTCHA
  18. 网络西阿拉
  19. MTCAPTCHA 数据
  20. 友好的卡普查语Name
  21. 点击 Captcha
  22. 边框方法
  23. 网格
  24. 文本 Captcha
  25. 帆布
  26. 旋转
  27. 密钥卡普查
  28. 剪接点
  29. 百分点
  30. 美国
  31. Prosopo 软件
  32. Captcha 福克斯语Name
  33. 图像
  34. VkCaptcha 数据
  35. 铁木儿
  36. 阿尔察
  37. 二进制
  38. 音频 Captcha
  39. 义通 NECAPTCHA
  40. 阿里巴巴·卡普察
  41. 技术秘书处
  42. 巴西语Name
  43. 韩特
  44. 拖放
  45. Imperva (Incapsula) (英语)
  46. 其他方法
  47. 良好报告
  48. 坏报
  49. 余额
  50. 代理
  51. 实例
  52. 使用 Pippeteer 的实例
  53. 有用文章
  54. 保持联系
  55. 加入球队
  56. 许可证
  57. 图形和商标

2 Captcha API (captcha 解析器) 的 JavaScript 模块

快速整合最简单的方式 2 Captcha (英语) 自动解析任何类型的解析 . 关于不同类型的API请求的实例,请访问 JavaScript Captcha 解析器 页 次.

安装

该软件包可安装在国家预防机制:

npm install @2captcha/captcha-solver

或亚恩 :

yarn add @2captcha/captcha-solver

配置

可以这样创建两个 Captcha 实例 :

const TwoCaptcha = require("@2captcha/captcha-solver")
const solver = new TwoCaptcha.Solver("<Your 2captcha api key>")

此外,还可以配置几个选项:

const apiKey = 'YOUR_API_KEY'
const pollingInterval = 10

const solver = new TwoCaptcha.Solver(apiKey, pollingInterval)

2 Captcha 实例选项

选项默认值说明
键- 说吧您的 API 键
投票 间隔5000块请求与 res.php API端点. 不建议设定小于5秒的值

解决卡布查

当提交任何基于图像的cabtcha使用时,可以提供额外选项来帮助2cabtcha工人正确解决.

Captcha 选项

选项默认值说明
数字0 个定义cabtcha是否包含数字符号或其他符号 在 API 文档中看到更多信息
分钟0 个最小答题长度
最大值( l)0 个最大答题长度
语句0 个定义答案是否包含多个单词
备忘0 个定义答案是否对大小写敏感
计算0 个定义 captcha 需要计算
朗语- 说吧定义 captcha 语言; 参见 支持语言列表
文本指令- 说吧向带 captcha 的工人显示提示或任务文本

下面可以找到每个 Captcha 类型的基本示例,查看下面的代码.

图像卡布查

API方法描述.

要绕过普通的cabtcha(被扭曲的图像上文字),使用以下方法. 这种方法也可以用来识别图像中的任何文本.

const imageBase64 = fs.readFileSync("./examples/media/imageCaptcha_6e584.png", "base64")

solver.imageCaptcha({
    body: imageBase64,
    numeric: 4,
    min_len: 5,
    max_len: 5
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

重击V2

API方法描述.

使用以下方法来解析reCAPTCHA V2并获得绕行保护的符号.

solver.recaptcha({
  pageurl: 'https://2captcha.com/demo/recaptcha-v2',
  googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u'
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

重击V3

API方法描述.

这种方法提供了一个 reCAPTCHA V3 解析器并返回一个符号.

solver.recaptcha({
    pageurl: 'https://2captcha.com/demo/recaptcha-v3',
    googlekey: '6Lcyqq8oAAAAAJE7eVJ3aZp_hnJcI6LgGdYD8lge',
    version: "v3",
    min_score: "0.4",
    action: 'demo_action'
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

乐趣卡普查

API方法描述.

Fun Captcha (Arkoselabs) 解析方法. 返回一个符号 .

solver.funCaptcha({
  pageurl: "https://funcaptcha.com/tile-game-lite-mode/fc/api/nojs/?pkey=804380F4-6844-FFA1-ED4E-5877CA1F1EA4&lang=en",
  publickey: "804380F4-6844-FFA1-ED4E-5877CA1F1EA4"
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

吉特·卡普查(英语:Gee Test Captcha)

API方法描述.

解决Gee Test 谜题的方法 Captcha. 返回一组符号为 JSON .

// Read more about `challenge` on the page https://2captcha.com/p/geetest
solver.geetest({ 
  pageurl: 'https://2captcha.com/demo/geetest',
  gt: '81388ea1fc187e0c335c0a8907ff2625',
  challenge: '<you need to get a new challenge value each time>'
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

Gee Test V4 Captcha (英语)

API方法描述.

使用这种方法解决 Gee Test v4. 返回 JSON 中的响应.

solver.geetestV4({
  pageurl: 'https://2captcha.com/demo/geetest-v4',
  captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73'
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

Yandex 智能卡普查

使用这种方法解决了Yandex Smart Captcha并获得一个绕行保护的符号.

solver.yandexSmart({ 
  pageurl: "https://captcha-api.yandex.ru/demo",
  sitekey: "FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxjtNB9"
 })
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

勒明已裁剪 Captcha

API方法描述.

使用这种方法解决了勒明并获得一个符号来绕过保护.

solver.lemin({
  pageurl:'https://2captcha.com/demo/lemin', 
  captcha_id: 'CROPPED_3dfdd5c_d1872b526b794d83ba3b365eb15a200b',
  div_id: 'lemin-cropped-captcha',
  api_server: 'api.leminnow.com'
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

云花花转弯

API方法描述.

使用这种方法解决 Cloudflare Turnstile. 以符号返回 JSON .

Turnstile Captcha有两种类型,其中一种是Cloudflare Turnstile挑战页. 对于Turnstile Challenge的页面案例,我们有一个 演示。试试这个 演示 如果您需要解决 Cloudflare Turnstile 挑战页面 captcha.

solver.cloudflareTurnstile({
    pageurl: "https://app.nodecraft.com/login",
    sitekey: "0x4AAAAAAAAkg0s3VIOD10y4"    
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

亚马逊WAF

API方法描述.

使用这种方法解决亚马逊WAF Captcha也叫AWS WAF Captcha,是亚马逊AWS智能威胁缓解的一部分. 以符号返回 JSON .

//INFO: The `context` value is dynamic, it is necessary to take the actual value from the page each time.
solver.amazonWaf({
  pageurl: "https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest",
  sitekey: "AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AHMDLodoefdvyOnsHMRt...",
  context: "9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ...",
  iv: "CgAHbCe2GgAAAAAj",
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

队长

API方法描述.

基于托肯的方法来绕过 Capy 拼图 Captcha.

solver.capyPuzzle({
    pageurl: "https://www.capy.me/account/register/",
    captchakey: "PUZZLE_Cme4hZLjuZRMYC3uh14C52D3uNms5w"
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

数据Dome CAPTCHA

API方法描述.

使用这种方法来解析 DataDome并获得一个符号来绕过保护.

[大
要解决 DataDome captcha, 您必须使用代理 。 建议使用 住宅代办。 。 。 .

solver.dataDome({
    pageurl: "https://rendezvousparis.hermes.com/client/register",
    captcha_url: "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMAEuQtkf4k1c0ABZhYZA%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=mY4z7GNmh7Nt1lAFwpbNHAOcWPhyPgjHD2K1Pm~Od1iEKYLUnK3t7N2ZGUj8OqDK65cnwJHtHwd~t902vlwpSBA5l4ZHbS1Qszv~jEuEUJNQ_jMAjar2Kj3kq20MRJYh&t=fe&referer=https%3A%2F%2Frendezvousparis.hermes.com%2Fclient%2Fregister&s=40119&e=67fef144ac1a54dbd7507776367d2f9d5e36ec3add17fa22f3cb881db8385838",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    proxy: "login:[email protected]:8888", // The (Username : Password @ Address : Port) of our chosen proxy
    proxytype: "http" // The 'Type' of proxy, http, https, socks, ect.
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

网络西阿拉

API方法描述.

使用这种方法解决CyberSiARA,并获得一个符号来绕过保护.

solver.cyberSiARA({
    pageurl: "https://www.cybersiara.com/book-a-demo",
    master_url_id: "OXR2LVNvCuXykkZbB8KZIfh162sNT8S2",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

MTCAPTCHA 数据

API方法描述.

使用这种方法解决MTCaptcha并获得一个符号来绕过保护.

solver.mtCaptcha({
    pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html",
    sitekey: "MTPublic-DemoKey9M"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

友好的卡普查语Name

API方法描述.

使用这种方法解决友好Captcha并获得一个符号来绕过保护.

[大
要成功使用接收到的符号, 不应在页面上加载 Captcha 部件 。 要做到这一点, 您需要中止请求 /friendlycaptcha/...module.min.js 在页面上。 当 Captcha 部件已经在页面上加载时, 接收到的符号可能无法工作 .

solver.friendlyCaptcha({
    pageurl: "https://geizhals.de/?liftban=1&from=/455973138?fsean=5901747021356",
    sitekey: "FCMST5VUMCBOCGQ9"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

点击 Captcha

API方法描述.

ClickCaptcha方法返回Captcha图像上各点的坐标. 如果您需要点击图像中的特定点,可以使用.

const imageBase64 = fs.readFileSync("./tests/media/coordinates.jpg", "base64")

solver.coordinates({
    body: imageBase64,
    textinstructions: 'Select all photos containing the boat'
 })
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

边框方法

API方法描述.

需要选择图像上的对象时使用 Bbounding Box 方法。 要做到这一点,就需要通过标记说明和标记图像. 指令可以作为文本发送,也可以作为编码在 base64 格式.

[大
您必须发送指令 imginstructions 或者说 textinstructions。 。 。 .

solver.boundingBox({ 
  image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR4AAACwCAIAAAB...",
  textinstructions: "Circle all the cars in the image.",
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

网格

API方法描述.

这种方法可以解决任何可以将图像分为等分的部分如reCAPTCHA V2. 在图像上方应用网格。 你得到的数字点击了框.

[大
您必须发送指令 imginstructions 或者说 textinstructions。 。 。 .

solver.grid({ 
  body: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR4AAACwCAIAAAB...",
  textinstructions: "Select cars in the image"
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

文本 Captcha

API方法描述.

这种方法可用于绕过需要回答以清晰文本提供的问题的cabtcha.

solver.textCaptcha({
  textcaptcha: "If tomorrow is Saturday, what day is today?",
  lang: 'en'
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

帆布

API方法描述.

画布方法可以用于在图像上需要围绕对象画出一行. 返回一组点'坐标来绘制多边形.

solver.canvas({
    body: 'iVBORw0KGgoAAAANSgAAAcIA...',
    imginstructions: '/9j/4AAQSkZJRgABAQEA...',
    textinstructions: 'Highlight the red CIRCLE'
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

旋转

API方法描述.

这种方法可用于解决一个要求旋转对象的cabtcha. 它主要用于绕道FunCaptcha. 返回自转角度.

solver.rotate({
  body: imageBase64,
  textinstructions: "Rotate the object to the correct position"
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

密钥卡普查

API方法描述.

基于token的解密方法 Captcha.

solver.keyCaptcha({
    pageurl: "https://2captcha.com/demo/keycaptcha",
    userId: '184015',
    sessionId: '0917788cad24ad3a69813c4fcd556061',
    webServerSign: '02f7f9669f1269595c4c69bcd4a3c52e',
    webServerSign2: 'd888700f6f324ec0f32b44c32c50bde1'
})
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err);
})

剪接点

API方法描述.

使用这种方法解决 Cutcaptcha. 返回 JSON 中的响应.

solver.cutCaptcha({
    pageurl: "https://mysite.com/page/with/cutcaptcha",
    misery_key: "098e6a849af406142e3150dbf4e6d0538db2b51f", 
    api_key: "SAs61IAI",
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

百分点

API方法描述.

使用这种方法解决 Tencent Captcha. 返回 JSON 中的响应.

solver.tencent({
    pageurl: "https://mysite.com/page/with/tencent",
    appId: "189956587"  
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

美国

API方法描述.

使用这种方法解决AtbCAPTCHA的挑战. 返回一个绕过 Captcha 的符号 .

solver.atbCaptcha({
    pageurl: "https://mysite.com/page/with/atbCAPTCHA",
    appId: "af25e409b33d722a95e56a230ff8771c",
    apiServer: "https://cap.aisecurius.com"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

Prosopo 软件

API方法描述.

使用这种方法解决Prosopo,并获得一个符号来绕过保护.

solver.prosopo({
    pageurl: "https://mysite.com/page/with/prosopo",
    sitekey: "5DWvYfCSGqbUiQ..."
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

Captcha 福克斯语Name

API方法描述.

使用这种方法解决 CaptchaFox 并获得一个符号来绕过保护.

[大
要解决 CaptchaFox, 您必须使用代理 。 建议使用 住宅代办。 。 。 .

solver.captchaFox({
    pageurl: "https://mysite.com/page/with/captchafox",
    sitekey: "sk_ILKWN...",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit...",
    proxy: "login:[email protected]:8888", // The (Username : Password @ Address : Port) of our chosen proxy
    proxytype: "http" // The 'Type' of proxy, http, https, socks, ect.
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

图像

API方法描述.

这种方法可用于用图形化的captcha来解决VK captcha. 返回目标站点的 API 格式中的步骤数和解决方案值 .

solver.vkimage({
    body: "iVBORw0KGgoAAAANSUhEUgAAAcIA...",
    steps: "[5,19,4,3,23,8,20,4,18,10,6,10,5,12,13,18,9,14,9,15,12,19,3,12,...]",
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

VkCaptcha 数据

API方法描述.

使用这种方法解决 Vk Captcha 并获得一个符号来绕过保护.

[大
要解决 VkCaptcha , 您必须使用代理 。 建议使用 住宅代办。 。 。 .

solver.vkcaptcha({
    redirect_uri: "https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJhbGciOiJBM...",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit...",
    proxy: "login:[email protected]:8888", // The (Username : Password @ Address : Port) of our chosen proxy
    proxytype: "http" // The 'Type' of proxy, http, https, socks, ect.
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

铁木儿

API方法描述.

这种方法可用于解决铁木儿卡普察. 返回坐标.

solver.temu({
    body: "data:image/png;base64,iVBORw0KG...",
    part1: "data:image/png;base64,iVBORw0KG...",
    part2: "data:image/png;base64,iVBORw0KG...",
    part3: "data:image/png;base64,iVBORw0KG...",
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

阿尔察

API方法描述.

这种方法可用于解决Altcha Captcha. 返回一个符号 .

solver.altcha({
    pageurl: "https://mysite.com/page/with/altcha",
    challenge_url: "https://example/altcha",
    challenge_json: '{"algorithm":"SHA-256","challenge":"a4c9d8e7f1b23a6c...",..."signature":"7b3e2a9d5c8f1046e2d91c3a..."}'
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

二进制

API方法描述.

这种方法可用于解决 Binance Captcha. 返回一个符号 .

solver.binance({
    pageurl: "https://mysite.com/page/with/binance",
    sitekey: "register",
    validateId: "0a05453c44e2411195c0d0c15654d966",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
    proxy: "login:[email protected]:8888",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

音频 Captcha

API方法描述.

使用以下方法绕过音频 captcha(mp3 页:1 您必须提供语言作为 lang = 'en'所支持的语言有"en","ru","de","el","pt","fr"等.

solver.audio({
  body: "SUQzBAAAAAAAHFRTU0UAAAA...",
  lang: "en"
})
.then((res) => {
  console.log(res);
})
.catch((err) => {
  console.log(err);
})

义通 NECAPTCHA

API方法描述.

这种方法可用于解决Yidun NECaptcha. 返回一个符号 .

solver.yidun({
    pageurl: "https://mysite.com/page/with/yidun",
    sitekey: "your_site_key",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
    yidunGetLib: "https://cstaticdun.126.net/load.min.js",
    yidunApiServerSubdomain: "cstaticdun.126.net",
    challenge: "12345678abc90123d4567ef8a9012345",
    hcg: "your_hcg_value",
    hct: 1234567890,
    proxy: "login:[email protected]:8888",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

阿里巴巴·卡普察

API方法描述.

这种方法可用于解决阿里巴巴卡普查(英语:Aliyun). 返回一个符号 .

所需参数 : pageurl, (中文(简体) ), sceneId, (中文(简体) ), prefix。 。 。 .

solver.alibaba({
    pageurl: "https://www.example.com",
    sceneId: "abc123xyz4",
    prefix: "dlw3kug",
    user_id: "Abc123Def456Ghi789Jkl012Mno345Pqr678Stu901=",
    user_user_id: "Xyz987Abc654Def321Ghi098Jkl765Mno432Pqr109=",
    verifyType: "1.0",
    region: "sgp",
    userCertifyId: "abc123def456ghi789jkl012mno345pq",
    apiGetLib: "https://o.example.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js?t=2041",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

技术秘书处

API方法描述.

基于Cookie的自动解析TSPD Captcha的方法. 返回可用于访问目标页面的 cookie .

所需参数 : pageurl, (中文(简体) ), tspdCookie, (中文(简体) ), htmlPageBase64, (中文(简体) ), proxy, (中文(简体) ), proxytype。 。 。 .

重要内容: tspdCookie 财务报告和审定财务报表 htmlPageBase64 它们是动态的——在创建任务之前立即提取。 一个带有静态会话和同个IP的代理必须在所有阶段使用.

solver.tspd({
    pageurl: "https://example.com/login",
    tspdCookie: "TS386a400d029=082670...010245; TS386a400d078=082670...dbb3b0c",
    htmlPageBase64: "PCFET0NUWVBFIGh0bWw+...",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    proxy: "login:[email protected]:8080",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

巴西语Name

API方法描述.

这种方法可用于解决Basilisk Captcha. 返回一个符号 .

所需参数 : pageurl, (中文(简体) ), sitekey。 。 。 .

solver.basilisk({
    pageurl: "https://example.com/login",
    sitekey: "b7890h...19fb2600897",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    proxy: "login:[email protected]:8080",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

韩特

API方法描述.

这种方法可用于解决Hunt Captcha.

Hunt Captcha使用双步工作流程:

  1. 不创建任务 data 获取 X-HD 数值.
  2. 随收到的请求发送到目标站点 X-HD 头,得到 meta.token,然后创建第二个任务 data 以获得最终解决方案符号.

所需参数 : pageurl, (中文(简体) ), apiGetLib。 。 。 .

// Step 1: get X-HD
solver.hunt({
    pageurl: "https://example.com/page-with-hunt",
    apiGetLib: "https://example.com/hd-api/external/apps/app-id/api.js",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
})
.then((res) => {
console.log(res.data); // X-HD
})
.catch((err) => {
console.log(err);
})

// Step 2: solve captcha with meta.token
solver.hunt({
    pageurl: "https://example.com/page-with-hunt",
    apiGetLib: "https://example.com/hd-api/external/apps/app-id/api.js",
    data: "META_TOKEN_VALUE",
    proxy: "login:[email protected]:8080",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res.data); // solution token
})
.catch((err) => {
console.log(err);
})

拖放

API方法描述.

解决 Captcha 的方法, 其中需要将一个或多个图像拖入背景图像上的特定位置 .

所需参数 : body, (中文(简体) ), images。 。 。 .

结果是:data)是诸如坐标的管道分隔字符串 "120,340|null|210,90"的顺序 images 您发送的数组 . null 表示对应的图像没有被移动——它确实 没有 指错误或坐标 (0,0)。 。 。 .

solver.dragAndDrop({
    body: "BASE64_BACKGROUND_IMAGE",
    images: ["BASE64_IMAGE_1", "BASE64_IMAGE_2"],
    textinstructions: "Drag the images to proper position"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

Imperva (Incapsula) (英语)

API方法描述.

基于 Cookie 的 Imperva (Incapsula) Captcha 自动解析方法. 返回可用于访问目标页面的 cookie .

所需参数 : pageurl, (中文(简体) ), incapsulaScriptUrl, (中文(简体) ), incapsulaCookies, (中文(简体) ), proxy, (中文(简体) ), proxytype。 。 。 .

重要内容: 此 Captcha 类型需要一个代理 。 一些参数是动态生成的,可能与由Imperva(Incapsula)保护的页面的每个负载不同.

结果是:data)是一个对象。 饼干从 data.domains 必须传递到目标地点。 若为 data.headers["User-Agent"] 中,在向网站提出的请求中使用相同的用户代理.

solver.imperva({
    pageurl: "https://example.com/login",
    incapsulaScriptUrl: "/_Incapsula_Resource?SWUDNSAI=31&xinfo=1",
    incapsulaCookies: "visid_incap_123456=sample; incap_ses_123_123456=sample",
    reese84UrlEndpoint: "https://example.com/_Incapsula_Resource?reese84=1",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    proxy: "login:[email protected]:8080",
    proxytype: "HTTP"
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})

其他方法

良好报告

API方法描述.

使用这种方法来报告良好的 Captcha 答案 .

solver.goodReport('7031846604')

坏报

API方法描述.

用这种方法来报告糟糕的 Captcha 回答 .

solver.badReport('7031854546')

余额

API方法描述.

使用这种方法获取账户余额 .

solver.balance()
.then((res) => {
    console.log(res)
})

代理

您可以通过您的代理作为方法的附加参数: recaptcha, funcaptcha, geetest, geetest v4, keycaptcha, capy 拼图, lemin, torntile, amazon waf, DataDome, CyberSiARA, MTCaptcha, 友好Captcha等. 代理将转发到API以解决cabtcha.

我们有我们自己的代理人可以给你. 购买住宅代理 避免限制和障碍. 快开始。 。 。 .

通过代理解决 reCAPTCHA V2 :

solver.recaptcha({
    pageurl: 'https://2captcha.com/demo/recaptcha-v2',
    googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
    proxy: 'HTTPS',
    proxytype: 'login:[email protected]:3128'
})

实例

解决所有支持的 Captcha 类型的例子位于 实例 目录.

使用 Pippeteer 的实例

另外我们还有一个单独的寄存器 你们可以找到一些例子 用Puppeteer来解决 Captcha. 目前,我们实施了绕过Cloudflare挑战网页和reCAPTCHA的例子. 链接 :

有用文章

保持联系

加入球队

有许多办法可以作出贡献,发展只是其中之一! 找到下一个工作。 开放职位:AI专家、刮刮机、开发者、技术支持

许可证

这个寄存器中的代码根据麻省理工学院许可证获得许可. 见 自由主义 以备详细文件.

图形和商标

本寄存器中包含的图形和商标不受"麻省理工学院许可证"管辖. 请联系 支助 允许使用这些材料.

版本与发布记录

@2captcha/captcha-solver 共发布 19 个版本,首次发布于 2024/03/29;过去 12 个月发布了 10 个版本。

版本发布日期距今
1.4.0latest2026/10/2018 天前
1.3.92026/08/282 个月前
1.3.82026/06/254 个月前
1.3.72026/06/224 个月前
1.3.62026/06/015 个月前
1.3.52026/04/037 个月前

关于 @2captcha/captcha-solver 的常见问题

@2captcha/captcha-solver 是什么?

JavaScript库与2captcha Captcha解析服务的API方便地集成,以绕过 reCAPTCHA, funcaptcha, geetest 并解决任何其他captcha.

如何安装 @2captcha/captcha-solver?

在项目目录运行 npm install @2captcha/captcha-solver,或使用 pnpm add / yarn add / bun add。

@2captcha/captcha-solver 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@2captcha/captcha-solver 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@2captcha/captcha-solver 可以商用吗?

@2captcha/captcha-solver 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@2captcha/captcha-solver 的下载量有多少?

根据 npm 官方下载统计,@2captcha/captcha-solver 在 2026/10/05 – 2026/11/03 这 30 天内被下载 131,311 次,日均约 4,377 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@2captcha/captcha-solver 还在维护吗?

最新版本 1.4.0 发布于 2026/10/20(18 天前);至今共发布 19 个版本,其中过去 12 个月发布了 10 个;首次发布于 2024/03/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。