CAPSOLVER
Blog
Làm thế nào để vượt qua Cloudflare | Sử dụng Puppeteer và Node.JS

Làm thế nào để vượt qua Cloudflare | Sử dụng Puppeteer và Node.JS

Logo of CapSolver

Anh Tuan

Data Science Expert

22-Aug-2024

Tôi cảm thấy rằng càng nhiều nhiệm vụ tự động hóa hiện nay càng được đánh giá cao, vì vậy các thách thức trở nên rõ ràng và khó khăn hơn. Ví dụ, Cloudflare hiện đang cung cấp các biện pháp bảo mật mạnh mẽ để bảo vệ các trang web khỏi tất cả các công cụ tự động hóa.

Tuy nhiên, việc điều hướng qua các tính năng bảo mật này có thể là một thách thức đối với các nhà phát triển và tổ chức đang thực hiện các dự án tự động hóa như thu thập dữ liệu, trích xuất dữ liệu hoặc kiểm thử. Tuy nhiên, với các công cụ và chiến lược phù hợp, bạn có thể giải quyết hiệu quả những thách thức này trong khi vẫn tuân thủ các tiêu chuẩn pháp lý và đạo đức.

Trong hướng dẫn này, tôi sẽ khám phá cách giải quyết hiệu quả Cloudflare như Turnstile bằng cách sử dụng Puppeteer và Node.js với sự trợ giúp từ công cụ giải mã CAPTCHA.

Mã thưởng

Nhận mã thưởng Bonus Code của bạn cho các giải pháp CAPTCHA hàng đầu từ CapSolver: WEBS. Sau khi đổi mã, bạn sẽ nhận được thêm 5% tiền thưởng sau mỗi lần nạp, không giới hạn.

CapSolver Bonus

Tìm hiểu về Turnstile của Cloudflare

Turnstile của Cloudflare là một tính năng bảo mật phức tạp được thiết kế để thách thức người dùng cố gắng truy cập vào các trang web được bảo vệ. Nó sử dụng sự kết hợp của các kỹ thuật, bao gồm các thử thách JavaScript, CAPTCHA và phân tích hành vi để đánh giá xem người dùng có phải là người thật hay không. Đối với các nhà phát triển, điều này có nghĩa là việc vượt qua Turnstile đòi hỏi nhiều hơn chỉ là các kỹ thuật thu thập dữ liệu web truyền thống.

Yêu cầu trước

Trước khi đi sâu vào triển khai, hãy đảm bảo bạn có các công cụ và tài nguyên sau:

  • Node.js: Cài đặt phiên bản mới nhất của Node.js từ trang web chính thức.
  • Puppeteer: Một thư viện Node.js cung cấp API cấp cao để điều khiển Chrome hoặc Chromium không đầu, hữu ích cho các tác vụ tự động hóa.
  • Khóa API của CapSolver: Đăng ký CapSolver và lấy khóa API để sử dụng dịch vụ giải mã CAPTCHA.

CapSolver là gì?

CapSolver là một công cụ mạnh mẽ được thiết kế để giúp giải mã CAPTCHA và các thách thức tự động khác. Khi các trang web ngày càng triển khai các cơ chế bảo mật phức tạp để ngăn chặn bot và các công cụ thu thập dữ liệu, CapSolver cung cấp một giải pháp đáng tin cậy để vượt qua những trở ngại này.

Các tính năng chính của CapSolver:

  • Giải pháp CAPTCHA toàn diện: CapSolver hỗ trợ nhiều loại CAPTCHA khác nhau, bao gồm reCAPTCHA, captcha, Cloudflare, ImageToText và nhiều hơn nữa, cho phép giải quyết các thử thách một cách liền mạch.
  • Độ chính xác cao: Sử dụng các thuật toán tiên tiến và mô hình học máy, CapSolver đảm bảo độ chính xác cao trong việc giải CAPTCHA, giảm tỷ lệ thất bại và nâng cao hiệu quả.
  • Tích hợp dễ dàng: CapSolver cung cấp API thân thiện với người dùng, dễ dàng tích hợp vào các công cụ tự động hóa hiện có của bạn, bao gồm cả Puppeteer. Điều này cho phép bạn tự động hóa việc giải CAPTCHA như một phần của quy trình thu thập dữ liệu hoặc kiểm thử của bạn.
  • Hỗ trợ 24/7: CapSolver cung cấp hỗ trợ khách hàng mạnh mẽ để giúp giải quyết bất kỳ vấn đề hoặc câu hỏi nào, đảm bảo hoạt động trơn tru và hỗ trợ kịp thời.

Dưới đây là phiên bản chi tiết hơn và giàu nội dung hơn của phần giải thích của bạn, kèm theo phần kết thúc cho bài viết:


Các bước triển khai chi tiết

  1. Sử dụng Puppeteer và JavaScript để gọi API CapSolver và truy cập trang web

    • Puppeteer là một thư viện Node.js mạnh mẽ cho phép bạn điều khiển Chrome hoặc Chromium không đầu thông qua DevTools Protocol. Trong ngữ cảnh này, nó được sử dụng để điều hướng các trang web và xử lý các tương tác phức tạp, chẳng hạn như đối phó với CAPTCHA.
  2. Lấy SiteKey cho Turnstile

    • SiteKey là một yếu tố quan trọng cần phải có để giải quyết thử thách Turnstile. Khóa này là duy nhất cho mỗi trang web và cần thiết để tương tác với API giải CAPTCHA. Bạn có thể trích xuất SiteKey bằng cách phân tích HTML của trang web hoặc sử dụng các công cụ như Tiện ích mở rộng CapSolver để đơn giản hóa quy trình. Để có hướng dẫn chi tiết về cách xác định các thông số cần thiết, hãy tham khảo bài đăng trên blog của chúng tôi.
  3. Sử dụng JavaScript để gọi API CapSolver và lấy mã thông báo

    • Khi bạn đã có SiteKey, bạn có thể thực hiện yêu cầu tới API CapSolver. Điều này bao gồm việc tạo một tác vụ mà CapSolver sẽ xử lý để giải CAPTCHA. API sẽ trả về một mã thông báo mà bạn có thể sử dụng để vượt qua bảo vệ Turnstile.
    • Dưới đây là một ví dụ về cách tương tác với API CapSolver bằng JavaScript:
javascript Copy
// npm install axios puppeteer-core
const axios = require('axios');
const puppeteer = require("puppeteer-core");

const api_key = "YOUR_API_KEY";
const site_key = "0xxxxxx";
const site_url = "https://xxx.xxx.xxx/xxx";
const proxy = "http://xxx:[email protected]:x"

async function capsolver() {
  const payload = {
    clientKey: api_key,
    task: {
      type: 'AntiTurnstileTaskProxyLess',
      websiteKey: site_key,
      websiteURL: site_url,
      metadata: {
          action: '',  // optional,
          type: "turnstile"
      },
      // proxy: proxy
    }
  };

  try {
    const res = await axios.post("https://api.capsolver.com/createTask", payload);
    const task_id = res.data.taskId;
    if (!task_id) {
      console.log("Failed to create task:", res.data);
      return;
    }
    console.log("Got taskId:", task_id);

    while (true) {
      await new Promise(resolve => setTimeout(resolve, 1000)); // Delay for 1 second

      const getResultPayload = {clientKey: api_key, taskId: task_id};
      const resp = await axios.post("https://api.capsolver.com/getTaskResult", getResultPayload);
      const status = resp.data.status;

      if (status === "ready") {
        return resp.data.solution.token;
      }
      if (status === "failed" || resp.data.errorId) {
        console.log("Solve failed! response:", resp.data);
        return;
      }
    }
  } catch (error) {
    console.error("Error:", error);
  }
}

const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
async function reqSite(){
  let coockie;
  await capsolver().then(token => {
    console.log(token);
    coockie = token;
  });

  const browser = await puppeteer.launch({
    headless: false,
    executablePath: "Browser Path"
  });

  const page = await browser.newPage();
  await wait(500);
  await page.setCookie({
    name: "cf_clearance",
    value: coockie,
    domain: "xx.xx.xx"
  });
  await wait(500);
  await page.goto(site_url);
  // TODO
  await page.close();
  await browser.disconnect();
}

reqSite().then();
  1. Cài đặt Cookie với Puppeteer và Truy cập nội dung trang
    • Với mã thông báo thu được từ CapSolver, bây giờ bạn có thể cài đặt các cookie phù hợp trong Puppeteer để vượt qua thử thách của Cloudflare. Bước này rất quan trọng vì nó cho phép bạn truy cập vào nội dung được bảo vệ trên trang web.

Kết luận

Trong hướng dẫn này, chúng ta đã khám phá cách giải quyết hiệu quả tính năng bảo mật Turnst

ile của Cloudflare bằng cách sử dụng kết hợp Puppeteer và CapSolver. Thông qua việc sử dụng các công cụ và phương pháp phù hợp, bạn có thể vượt qua các thử thách tự động hóa một cách hiệu quả, trong khi vẫn đảm bảo tuân thủ các tiêu chuẩn đạo đức và pháp lý.

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

Làm thế nào để vượt qua xác minh bạn là người của Cloudflare mà không bị mắc kẹt
Cách vượt qua xác minh bạn là người thật của Cloudflare mà không bị mắc kẹt

Bị mắc kẹt ở "xác minh bạn là người" hoặc "Thử thách Cloudflare"? Học về các nguyên nhân phổ biến và khám phá các giải pháp kỹ thuật để hệ thống tự động vượt qua xác minh mỗi lần.

Cloudflare
Logo of CapSolver

Rajinder Singh

19-Jan-2026

Cách vượt qua Cloudflare Challenge khi Scrape Web vào năm 2025
Cách vượt qua thử thách Cloudflare khi thu thập dữ liệu web vào năm 2026

Tìm hiểu cách vượt qua Cloudflare Challenge và Turnstile trong năm 2026 để thu thập dữ liệu web liền mạch. Khám phá tích hợp Capsolver, mẹo về dấu vân tay TLS và các bản sửa lỗi cho các lỗi thường gặp để tránh địa ngục CAPTCHA. Tiết kiệm thời gian và mở rộng quy mô quá trình trích xuất dữ liệu của bạn.

Cloudflare
Logo of CapSolver

Emma Foster

07-Jan-2026

Tìm hiểu lỗi 1010 của Cloudflare và cách khắc phục
Tìm hiểu Lỗi 1010 của Cloudflare và cách khắc phục

Học cách giải quyết lỗi Cloudflare 1010, thường được gọi là "Access Denied: Bad Bot." Hiểu nguyên nhân gây ra lỗi này và khám phá các giải pháp thực tế, bao gồm tích hợp CapSolver, để vượt qua các kiểm tra bảo mật của Cloudflare và đảm bảo truy cập liền mạch vào các trang web.

Cloudflare
Logo of CapSolver

Sora Fujimoto

04-Jan-2026

Làm thế nào để xác định xem cData có cần thiết để giải Cloudflare Turnstile bằng phần mềm mở rộng CapSolver
Làm thế nào để xác định xem cData có cần thiết để giải mã Cloudflare Turnstile bằng tiện ích mở rộng CapSolver không?

Học cách nhận diện cData để giải CAPTCHA hiệu quả của Cloudflare turnstile. Theo hướng dẫn từng bước của chúng tôi về việc sử dụng các công cụ và kỹ thuật của Capsolver.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

31-Dec-2025

Giải quyết Cloudflare Turnstile
Cách giải quyết Cloudflare Turnstile?

Giải nhanh Cloudflare Turnstile bằng API của CapSolver. Học cách tạo nhiệm vụ, quản lý proxy và truy xuất kết quả nhanh chóng để có trải nghiệm web mượt mà hơn.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

24-Dec-2025

Giải quyết Cloudflare
Cách giải quyết các thách thức của Cloudflare?

Học cách giải quyết Thách thức Cloudflare với API Capsolver: Hướng dẫn từng bước về việc tạo nhiệm vụ và truy xuất kết quả, với hỗ trợ bằng Python và nhiều thứ khác

Cloudflare
Logo of CapSolver

Nikolai Smirnov

23-Dec-2025