# @antiadmin/anticaptchaofficial 中文文档

规范地址：https://npmcn.com/package/%40antiadmin/anticaptchaofficial/

版本：1\.0\.57
npm 元数据更新时间：2026-09-24T11:31:56.885Z
中文译文更新时间：2026-11-06T06:40:41.030Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40antiadmin/anticaptchaofficial
原文对照：https://npmcn.com/package/%40antiadmin/anticaptchaofficial/?lang=original
项目主页：https://github.com/anti-captcha/anticaptcha-npm

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：69.8 kB，7 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2020-09-19T08:40:32.541Z
- 最新版本发布：2026-09-24T11:31:56.722Z
- 近 30 天下载量：71309（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：57（近 12 个月 2 个）

## 中文简介

官方反Captcha.com npm 库

## 安装

```sh
npm install @antiadmin/anticaptchaofficial
```

也可以使用：`pnpm add @antiadmin/anticaptchaofficial`、`yarn add @antiadmin/anticaptchaofficial`、`bun add @antiadmin/anticaptchaofficial`

## README

## 官方反Captcha.com npm模块

### 目录

-   [介绍](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#)
-   [安装](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-module-installation)
-   [请求 API 密钥余额](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-import-and-check-your-balance-in-sync-mode)
-   [与我们同在](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-earn-with-anti-captcha)
-   [图像 Captcha](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-solve-image-captcha)
-   [重现 V2](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-recaptcha-v2-without-proxy)
-   [重现 V3](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-recaptcha-v3)
-   [盖普查](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-hcaptcha-without-proxy)
-   [转弯](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-turnstile-without-proxy)
-   [反大门任务](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-antigate-tasks)
-   [Funcattcha (英语)](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-funcaptcha--arkoselabs-without-proxy)
-   [(原始内容存档于2018-03-21) (英语). Geest v3](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-geetest-version-3-without-proxy)
-   [吉特尔特 v4](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-geetest-version-4-without-proxy)
-   [要坐标的图像](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-image-to-coordinates)
-   [亚马逊WAF](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-amazon-waf-without-proxy)
-   [阿尔察](https://npmcn.com/package/%40antiadmin/anticaptchaofficial/#readme-altcha-captcha-without-proxy)

官方反Captcha.com npm包用于用文本解析图像, Recaptcha v2/v3 Enterpise, Funcaptcha, Gee Test, HCaptcha.

[反抓捕](https://anti-captcha.com/) 是一个历史最悠久、最便宜的网络服务, 通过和我们一起解决卡普查问题,你帮助世界上最贫穷地区的人赚钱,这不仅满足了他们的基本需要,而且还使他们有能力在经济上帮助家人,学习和避免在他们不快乐的地方工作.

要使用您需要的服务 [注册](https://anti-captcha.com/clients/) 补上你的平衡。 价格从每张图像卡普查0.05美元起,再卡普查0.02美元起。 图像每1000美元为0.5美元,再抓1000美元为2美元.

为了获得更多的技术资料和文章,请访问 [文档](https://anti-captcha.com/apidoc) 页 次.

### 模块安装 :

```bash
npm install @antiadmin/anticaptchaofficial
```

### 导入并检查同步模式中的余额 :

```javascript
(async() => {
    
    const ac = require("@antiadmin/anticaptchaofficial");
    ac.setAPIKey('YOUR_API_KEY');
    try {
        const balance = await ac.getBalance();
        console.log(`my balance is $${balance}`);
        if (balance <= 0) {
            throw "negative balance"
        }
        console.log("solving a captcha..")
        // const token = await ac.solveRecaptchaV2Proxyless('http://DOMAIN.COM', 'WEBSITE_KEY');
        // const fs = require('fs');
        // const text = await ac.solveImage(fs.readFileSync('captcha.png', { encoding: 'base64' }), true)
    } catch (e) {
        console.log("got error: ", e.toString());
    }
    
})();
```

或者做同样的承诺:

```javascript
const ac = require("@antiadmin/anticaptchaofficial");
ac.setAPIKey('YOUR_API_KEY');
ac.getBalance()
     .then(balance => {
         console.log('my balance is $' + balance)
         if (balance <= 0) {
             return false;
         }
         console.log("solving a captcha..")
         // ac.solveRecaptchaV2Proxyless('http://DOMAIN.COM', 'WEBSITE_KEY')
         //     .then(token => {
         //         console.log('Got g-response:', token)
         //         // do something
         //     })
         //     .catch(error => {
         //         console.log('test received error ' + error)
         //         return false;
         //     });
     })
     .catch(error => console.log('received error '+error))
```

禁用动词输出到控制台 :

```javascript
ac.shutUp();
```

  
请求订阅贷项余额 :

```javascript
const remainingCredits = await ac.getCreditsBalance();
```

  

### 与反卡普查合作

指定要挣取的软度 **10%佣金** 从所有的卡布查花 在你的应用. 让你的软身进来 [开发者中心](https://anti-captcha.com/clients/tools/devcenter)。 。 。 .

```javascript
ac.setSoftId(SOFT_ID_NUMBER);
```

### 解析图像 captcha :

```javascript
const fs = require('fs');
const captcha = fs.readFileSync('captcha.png', { encoding: 'base64' });

// Additional flags, see https://anti-captcha.com/apidoc/task-types/ImageToTextTask for description:
// ac.settings.phrase = true;                  // 2 words
// ac.settings.case = true;                    // case sensitivity
// ac.settings.numeric = 1;                    // only numbers
// ac.settings.comment = "only green letters"; // text comment for workers
// ac.settings.math = true;                    // math operation like 50+2
// ac.settings.minLength = 1;                  // minimum amount of characters
// ac.settings.maxLength = 10;                 // maximum number of characters
// ac.settings.languagePool = 'en';            // language pool
const text = await ac.solveImage(captcha, true);
```

报告上次解析的图像 captcha 不正确( 必须读取) [这个](https://anti-captcha.com/apidoc/methods/reportIncorrectImageCaptcha) 在使用前:

```javascript
await ac.reportIncorrectImageCaptcha();
```

* * *

### 在没有代理的情况下收回 V2 :

```javascript
ac.settings.recaptchaDataSValue = 'set me for google.com domains';
const gresponse = ac.solveRecaptchaV2Proxyless('http://DOMAIN.COM', 'WEBSITE_KEY');
console.log('g-response: '+gresponse);
console.log('google cookies:');
console.log(ac.getCookies());
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

学习如何使用 g 响应 [这个](https://anti-captcha.com/apidoc/articles/how-to-use-g-response) 第3条.

报告上次解析的 Recaptcha v2/v3 错误( 必须读取) [这个](https://anti-captcha.com/apidoc/methods/reportIncorrectRecaptcha) 在使用前:

```javascript
await ac.reportIncorrectRecaptcha();
```

报告复选 v3 已正确解析( 更多信息) [这里](https://anti-captcha.com/apidoc/methods/reportCorrectRecaptcha) 在使用前:

```javascript
await ac.reportCorrectRecaptcha();
```

### 以代理重现 V2 :

```javascript
const gresponse = await ac.solveRecaptchaV2ProxyOn('http://DOMAIN.COM',
    'WEBSITE_KEY',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116',
    'some=cookies');
```

Solve Recaptcha V2-隐形(注意第3个参数"真"):

```javascript
const gresponse = await ac.solveRecaptchaV2Proxyless('http://DOMAIN.COM', 'WEBSITE_KEY', true)
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 重现 V3 :

```javascript
const gresponse = await ac.solveRecaptchaV3('http://DOMAIN.COM',
    'WEBSITE_KEY',
    0.3, //minimum score required: 0.3, 0.7 or 0.9
    'PAGE_ACTION_CAN_BE_EMPTY');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

解析复选 V2 企业没有代理 :

```javascript
const gresponse = await ac.solveRecaptchaV2EnterpriseProxyless(
    'http://DOMAIN.COM', 
    'WEBSITE_KEY', 
    {   //enterprise payload:
        "s" : "SOME_TOKEN",
        "action" : "form_submit"
    },
    false);
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### HCaptcha 没有代理 :

```javascript
const token = await ac.solveHCaptchaProxyless('http://DOMAIN.COM', 'WEBSITE_KEY', 'FULL USER AGENT HERE');

// use this userAgent for posting the form with token!
const userAgent = ac.getHcaptchaUserAgent();

//some Hcaptchas also produce "respkey" value, this is how to get it:
const respKey = ac.getHcaptchaRespKey();

```

报告上次解析的 Hcaptcha 错误 :

```javascript
await ac.reportIncorrectHcaptcha();
```

* * *

### 无代理的旋转:

```javascript
const token = await ac.solveTurnstileProxyless('http://DOMAIN.COM', 'WEBSITE_KEY', 'optional_action', 'optional_cData_token');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 带有代理服务器的转动 :

```javascript
const token = await ac.solveTurnstileProxyOn('http://DOMAIN.COM',
    'WEBSITE_KEY',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD',
    'optional_action',
    'optional_cData_token');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 反犯罪任务 :

```javascript
const solution = await ac.solveAntiGateTask(
    'http://antigate.com/logintest.php', 
    'Sign-in and wait for control text', 
    { 
        "login_input_css": "#login",
        "login_input_value": "the login",
        "password_input_css": "#password",
        "password_input_value": "the password",
        "control_text": "You have been logged successfully" 
    });
console.log('cookies: ', solution.cookies);
console.log('localStorage: ', solution.localStorage);
console.log('url: ', solution.url);
```

与代理相同 :

```javascript
const solution = await ac.solveAntiGateTask(
    'http://antigate.com/logintest.php', 
    'Sign-in and wait for control text', 
    { 
        "login_input_css": "#login",
        "login_input_value": "the login",
        "password_input_css": "#password",
        "password_input_value": "the password",
        "control_text": "You have been logged successfully" 
    },
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD');
```

以延迟变量发送任务并按数秒后:

```javascript
const taskId = await ac.sendAntiGateTask('http://antigate.com/logintest2fa.php',
    'Sign-in with 2FA and wait for control text',
    {
        "login_input_css": "#login",
        "login_input_value": "the login",
        "password_input_css": "#password",
        "password_input_value": "the password",
        "2fa_input_css": "#2facode",
        "2fa_input_value": "_WAIT_FOR_IT_",
        "control_text": "You have been logged successfully"
    });
await ac.delay(5000); //simulate a delay in 2FA retrieval
await ac.pushAntiGateVariable('2fa_input_value', '349001');
const solution = await ac.waitForResult(taskId);

console.log('solution:');
console.log(solution);

```

### Funcaptcha / Arkoselabs 没有代理 :

```javascript
//optional data blob:
ac.settings.funcaptchaDataBlob = 'blob value here is any, or leave it empty';
const token = await ac.solveFunCaptchaProxyless(
    'https://www.thewebsite.com/path',
    'site-key');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

### Funcaptcha / Arkoselabs 通过代理:

```javascript
//optional data blob:
ac.settings.funcaptchaDataBlob = 'blob value here is any, or leave it empty';
const token = await ac.solveFunCaptchaProxyOn(
    'https://www.thewebsite.com/path',
    'site-key', 
    'http',
    '1.2.3.4',
    3128,
    'proxy-login',
    'proxy-password',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116',
    '');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### Geest 版本 3 没有代理

[参见教程](https://anti-captcha.com/tutorials/how-to-use-chrome-breakpoints-for-finding-funcaptcha-and-geetest-api-parameters) 如何找到这些参数.

```javascript
const token = await ac.solveGeeTestProxyless(
    'https://www.thewebsite.com/path',
    'gt key 32 bytes',
    'challenge value 32 bytes',
    'optional.api-domain.com');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

### Geest 版本 4 没有代理

[参见教程](https://anti-captcha.com/tutorials/how-to-use-chrome-breakpoints-for-finding-funcaptcha-and-geetest-api-parameters) 如何找到这些参数.

```javascript
const token = await ac.solveGeeTestV4Proxyless(
    'https://www.thewebsite.com/path',
    'captchaId key 32 bytes',
    'optional.api-domain.com',
    {
        'riskType': 'slide' //example
    });
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 要坐标的图像

```javascript
const fs = require('fs');
const captcha = fs.readFileSync('captcha.png', { encoding: 'base64' });
const coordinates = await ac.solveImageToCoordinates(captcha, "Select all objects in specified order", "points");
```

报告上次解析的图像 captcha 不正确 :

```javascript
await ac.reportIncorrectImageCaptcha();
```

* * *

### 普罗索波卡布查

```javascript
const token = await ac.solveProsopoProxyless('http://DOMAIN.COM', 'WEBSITE_KEY');
```

* * *

以代理解决 Prosopo captcha :

```javascript
const token = await ac.solveProsopoProxyOn('http://DOMAIN.COM',
    'WEBSITE_KEY',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 没有代理的友好卡普查 :

```javascript
const token = await ac.solveFriendlyCaptchaProxyless('http://DOMAIN.COM', 'WEBSITE_KEY');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

用代理解决友好卡普查 :

```javascript
const token = await ac.solveFriendlyCaptchaProxyOn('http://DOMAIN.COM',
    'WEBSITE_KEY',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

### 亚马逊WAF:

这里有两个选项:

1.  当Captcha在机器人过滤页面上 你需要ws -was -toke cookie:

#### 无代理 :

```javascript
const token = await ac.solveAmazonProxyless('http://DOMAIN.COM', 
    'key_value_from_window.gokuProps_object',
    'iv_value_from_window.gokuProps_object',
    'context_value_from_window.gokuProps_object',
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js', //optional
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js'  //optional
); 
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

#### 有代理服务器 :

```javascript
const token = await ac.solveAmazonProxyOn('http://DOMAIN.COM',
    'key_value_from_window.gokuProps_object',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD',
    'iv_value_from_window.gokuProps_object',
    'context_value_from_window.gokuProps_object',
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js', //optional
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js'  //optional
);
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

2.  当 captcha 是独立部件时, 由用户动作触发 :

#### 无代理 :

```javascript
const token = await ac.solveAmazonWidgetProxyless('http://DOMAIN.COM', 
    'widget_api_key',     // get key from AwsWafCaptcha.renderCaptcha function
    'https://164cb210e333.edge.captcha-sdk.awswaf.com/164cb210e333/jsapi.js' // full path to jsapi.js integration script
); 
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

#### 有代理服务器 :

```javascript
const token = await ac.solveAmazonWidgetProxyOn('http://DOMAIN.COM',
    'widget_api_key',
    'https://164cb210e333.edge.captcha-sdk.awswaf.com/164cb210e333/jsapi.js', // full path to jsapi.js integration script
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD'
);
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

详细访问情况 [反卡普查亚马逊 WAF 文档](https://anti-captcha.com/apidoc/task-types/AmazonTaskProxyless)。 。 。 .

* * *

### 没有代理的 Altcha Captcha :

```javascript
// with challenge URL:
const token = await ac.solveAltchaProxyless('http://DOMAIN.COM', '/some/challenge/url');

// with challenge JSON retrieved from challengeurl:
const token = await ac.solveAltchaProxyless('http://DOMAIN.COM', '', '{"algorithm":"SHA-256","challenge":"2a40f7ba3393f9513011179de41c7221f14e563856de2f647233a00accf9c28b","salt":"08d7f273d79df143355b9e5n","signature":"1de2bbf282420aef6ca0a84c38c85e2b1e40023d28bef72278d735555a8f47fb"}');
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

用代理解决 Altcha captcha :

```javascript
// with challenge URL:
const token = await ac.solveAltchaProxyOn('http://DOMAIN.COM',
    '/some/challenge/url',
    null,
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD');

// with challenge JSON retrieved from challengeurl:
const token = await ac.solveAltchaProxyOn('http://DOMAIN.COM',
    '',
    '{"algorithm":"SHA-256","challenge":"2a40f7ba3393f9513011179de41c7221f14e563856de2f647233a00accf9c28b","salt":"08d7f273d79df143355b9e5n","signature":"1de2bbf282420aef6ca0a84c38c85e2b1e40023d28bef72278d735555a8f47fb"}',
    'http', //http, socks4, socks5
    'PROXY_IP',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD');

// in case you need it and it is available:
console.log('worker\'s user-agent:');
console.log(ac.getUserAgent());
```

* * *

方法调用类似的其它可用任务类型,参见源代码:

```javascript
await ac.solveRecaptchaV2EnterpriseProxyOn( ... ); //Recaptcha V2 Enterprise with proxy
await ac.solveRecaptchaV3Enterprise( ... ); //Recaptcha V3 Enterprise
await ac.solveHCaptchaProxyOn( ... ); //hCaptcha with proxy
await ac.solveGeeTestProxyOn( ... ); //Solve Geetest with proxy
await ac.solveGeeTestV4ProxyOn( ... ); //Bypass Geetest V4 with proxy
```

## 常见问题

### @antiadmin/anticaptchaofficial 是什么？

官方反Captcha\.com npm 库

### 如何安装 @antiadmin/anticaptchaofficial？

在项目目录运行 npm install @antiadmin/anticaptchaofficial，或使用 pnpm add / yarn add / bun add。

### @antiadmin/anticaptchaofficial 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/antiadmin\_\_anticaptchaofficial 是否存在。

### @antiadmin/anticaptchaofficial 支持 ESM 还是 CommonJS？

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

### @antiadmin/anticaptchaofficial 可以商用吗？

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

### @antiadmin/anticaptchaofficial 的下载量有多少？

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

### @antiadmin/anticaptchaofficial 还在维护吗？

最新版本 1\.0\.57 发布于 2026/09/24（1 个月前）；至今共发布 57 个版本，其中过去 12 个月发布了 2 个；首次发布于 2020/09/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

