CAPSOLVER
Blog
Cách giải reCaptcha v2 bằng Node.JS

Cách giải reCaptcha v2 bằng Node.JS

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

17-Dec-2025

TL;DR

Hướng dẫn này giải thích cách giải reCAPTCHA v2 bằng Node.js với API của CapSolver. Hướng dẫn bao gồm cả triển khai không dùng proxy và dùng proxy, các bước cài đặt từng bước, và các ví dụ mã nguồn Node.js có thể sử dụng ngay. Bằng cách tuân theo hướng dẫn này, các nhà phát triển có thể tích hợp xử lý reCAPTCHA v2 vào quy trình tự động hóa hoặc thu thập dữ liệu một cách hiệu quả và đáng tin cậy.

Giới thiệu

reCAPTCHA v2 vẫn là cơ chế xác minh con người được triển khai phổ biến nhất trên web. Đối với các nhà phát triển làm việc với quy trình tự động hóa, trích xuất dữ liệu hoặc tự động hóa trình duyệt quy mô lớn, việc xử lý reCAPTCHA v2 một cách hiệu quả là một thách thức kỹ thuật lặp lại.

Trong bài viết này, chúng tôi hướng dẫn một triển khai thực tế bằng Node.js để giải reCAPTCHA v2 sử dụng API của CapSolver. Bạn sẽ học cách cấu hình môi trường, cài đặt các phụ thuộc cần thiết và triển khai các giải pháp cả với và không dùng proxy. Các ví dụ được cung cấp được thiết kế theo hướng sản xuất và dễ dàng thích ứng với các trường hợp sử dụng thực tế.

⚙️ Yêu cầu trước

  • Proxy (Tùy chọn)
  • Node.JS đã cài đặt
  • Khóa API của Capsolver

🤖 Bước 1: Cài đặt các gói cần thiết

Thực hiện các lệnh sau để cài đặt các gói cần thiết:

python Copy
npm install axios

👨‍💻 Mã Node.JS để giải reCaptcha v2 không dùng proxy

Dưới đây là một đoạn mã mẫu bằng Node.JS để thực hiện nhiệm vụ:

js Copy
const axios = require('axios');

const PAGE_URL = ""; // Thay thế bằng trang web của bạn
const SITE_KEY = ""; // Thay thế bằng trang web
const CLIENT_KEY = "";  // Thay thế bằng khóa API CAPSOLVER của bạn

async function createTask(payload) {
  try {
    const res = await axios.post('https://api.capsolver.com/createTask', {
      clientKey: CLIENT_KEY,
      task: payload
    });
    return res.data;
  } catch (error) {
    console.error(error);
  }
}
async function getTaskResult(taskId) {
    try {
        success = false;
        while(success == false){

            await sleep(1000);
        console.log("Đang lấy kết quả nhiệm vụ cho ID nhiệm vụ: " + taskId);
      const res = await axios.post('https://api.capsolver.com/getTaskResult', {
        clientKey: CLIENT_KEY,
        taskId: taskId
      });
      if( res.data.status == "ready") {
        success = true;
        console.log(res.data)
        return res.data;
      }
    }
  
    } catch (error) {
      console.error(error);
      return null;
    }
  }
  

async function solveReCaptcha(pageURL, sitekey) {
  const taskPayload = {
    type: "ReCaptchaV2TaskProxyless",
    websiteURL: pageURL,
    websiteKey: sitekey,
  };
  const taskData = await createTask(taskPayload);
  return await getTaskResult(taskData.taskId);
}
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
  try {
   
      const response = await solveReCaptcha(PAGE_URL, SITE_KEY );
      console.log(`Nhận được token: ${response.solution.gReCaptcharesponse}`);
        
    }
catch (error) {
    console.error(`Lỗi: ${error}`);
  }

}
main();

👨‍💻 Mã Node.JS để giải reCaptcha v2 dùng proxy

Dưới đây là một đoạn mã mẫu bằng Node.JS để thực hiện nhiệm vụ:

js Copy
const axios = require('axios');

const PAGE_URL = ""; // Thay thế bằng trang web của bạn
const SITE_KEY = ""; // Thay thế bằng trang web
const CLIENT_KEY = "";  // Thay thế bằng khóa API CAPSOLVER của bạn
const PROXY =  "https://username:password@host:port";

async function createTask(payload) {
  try {
    const res = await axios.post('https://api.capsolver.com/createTask', {
      clientKey: CLIENT_KEY,
      task: payload
    });
    return res.data;
  } catch (error) {
    console.error(error);
  }
}
async function getTaskResult(taskId) {
    try {
        success = false;
        while(success == false){

            await sleep(1000);
        console.log("Đang lấy kết quả nhiệm vụ cho ID nhiệm vụ: " + taskId);
      const res = await axios.post('https://api.capsolver.com/getTaskResult', {
        clientKey: CLIENT_KEY,
        taskId: taskId
      });
      if( res.data.status == "ready") {
        success = true;
        console.log(res.data)
        return res.data;
      }
    }
  
    } catch (error) {
      console.error(error);
      return null;
    }
  }
  

async function solveReCaptcha(pageURL, sitekey) {
  const taskPayload = {
    type: "ReCaptchaV2Task",
    websiteURL: pageURL,
    websiteKey: sitekey,
    proxy: PROXY
  };
  const taskData = await createTask(taskPayload);
  return await getTaskResult(taskData.taskId);
}
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
  try {
   
      const response = await solveReCaptcha(PAGE_URL, SITE_KEY );
      console.log(`Nhận được token: ${response.solution.gRecaptchaResponse}`);
        
    }
catch (error) {
    console.error(`Lỗi: ${error}`);
  }

}
main();

⚠️ Thay đổi các biến này

  • PROXY: Thay đổi thành proxy của bạn, chỉ khi bạn sử dụng ReCaptchaV2Task.
  • CLIENT_KEY: Nhận khóa API của bạn từ Bảng điều khiển Capsolver.
  • PAGE_URL: Thay thế bằng URL của trang web mà bạn muốn giải captcha
  • SITE_KEY: Thay thế bằng khóa trang của trang có captcha

👀 Thông tin thêm

Kết luận

Giải reCAPTCHA v2 trong Node.js không cần phải phức tạp. Bằng cách tận dụng API của CapSolver, các nhà phát triển có thể triển khai giải pháp sạch sẽ, mở rộng được và hoạt động đáng tin cậy trên các cấu hình trang web khác nhau. Dù bạn chọn cài đặt không dùng proxy để đơn giản hay phương pháp dùng proxy để kiểm soát tốt hơn, các ví dụ trong hướng dẫn này cung cấp nền tảng vững chắc cho mục đích sản xuất.

Câu hỏi thường gặp

1. Sự khác biệt giữa các nhiệm vụ reCAPTCHA v2 không dùng proxy và dùng proxy là gì?

Nhiệm vụ không dùng proxy dựa vào cơ sở hạ tầng nội bộ của CapSolver và dễ triển khai hơn, trong khi nhiệm vụ dùng proxy cho phép bạn kiểm soát danh tính IP và vị trí địa lý để đạt tỷ lệ thành công cao hơn trên các trang web nghiêm ngặt.

2. Khi nào nên sử dụng ReCaptchaV2Task thay vì ReCaptchaV2TaskProxyless?

Sử dụng ReCaptchaV2Task khi trang web đích yêu cầu tính nhất quán của IP hoặc áp dụng các hạn chế khu vực yêu cầu cấu hình proxy cụ thể.

3. Thời gian thường để nhận được token reCAPTCHA v2 là bao lâu?

Hầu hết các nhiệm vụ được hoàn thành trong vài giây. Thời gian thực tế phụ thuộc vào độ phức tạp của trang, mức độ khó của thử thách và việc có sử dụng proxy hay không.

4. Giải pháp này có thể tích hợp vào các hệ thống tự động hóa Node.js quy mô lớn không?

Có. Các hàm được cung cấp là mô-đun và có thể tích hợp vào các trình thu thập dữ liệu, quy trình tự động hóa hoặc các luồng làm việc dựa trên trình duyệt.

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

Giải Captcha không giới hạn với công cụ giải Captcha tốt nhất
Giải CAPTCHA không giới hạn với công cụ giải CAPTCHA tốt nhất

Học cách giải Captcha không giới hạn một cách mượt mà với giải pháp Captcha tốt nhất, một hướng dẫn chi tiết về việc thiết lập và tự động hóa các giải pháp Captcha một cách hiệu quả

reCAPTCHA
Logo of CapSolver

Sora Fujimoto

20-Jan-2026

Giải quyết reCAPTCHA trong C++: Hướng dẫn đầy đủ
Giải quyết reCAPTCHA bằng C++: Hướng dẫn toàn diện

Học cách giải reCAPTCHA bằng C++ sử dụng API CapSolver. Hướng dẫn toàn diện này bao gồm cài đặt dự án của bạn, tạo nhiệm vụ và truy xuất kết quả nhiệm vụ với các ví dụ thực tế.

reCAPTCHA
Logo of CapSolver

Emma Foster

14-Jan-2026

Cách giải reCAPTCHA bằng Node.js | Hướng dẫn năm 2024
Cách giải reCAPTCHA với Node.js | Hướng dẫn năm 2026

Làm quen với cách dễ dàng giải quyết reCAPTCHA v2 và v3 bằng cách sử dụng Node.js và công cụ giải quyết trong hướng dẫn này. Nâng cao trò chơi tự động hóa của bạn ngay hôm nay!

reCAPTCHA
Logo of CapSolver

Nikolai Smirnov

05-Jan-2026

Tự động hóa việc giải reCAPTCHA v2: Hướng dẫn sử dụng CapSolver
Giải quyết reCAPTCHA v2 tự động: Hướng dẫn với CapSolver

Hãy cùng tìm hiểu cách bạn có thể dễ dàng tự động hóa giải pháp cho reCAPTCHA v2 bằng CapSolver.

reCAPTCHA
Logo of CapSolver

Emma Foster

05-Jan-2026

Giải pháp Recaptcha bằng Puppeteer: Hướng dẫn toàn diện
Công Cụ Giải Recaptcha bằng Puppeteer: Hướng Dẫn Toàn Diện

chúng ta sẽ khám phá cách sử dụng Puppeteer như một trình giải reCAPTCHA và các phương pháp khác nhau có sẵn để tích hợp nó vào quy trình làm việc của bạn.

reCAPTCHA
Logo of CapSolver

Sora Fujimoto

04-Jan-2026

Làm thế nào để giải quyết các thách thức reCAPTCHA Enterprise trong việc quét web
Cách giải quyết các thách thức reCAPTCHA Enterprise trong việc quét web

Hướng dẫn giải quyết reCAPTCHA Enterprise trong việc quét web. Bao gồm mã Python, các bước cài đặt và lời khuyên triển khai.

reCAPTCHA
Logo of CapSolver

Sora Fujimoto

04-Jan-2026