CAPSOLVER
Blog
Cara menyelesaikan reCaptcha v2 dengan Node.JS

Cara menyelesaikan reCaptcha v2 dengan Node.JS

Logo of CapSolver

Aloísio Vítor

Image Processing Expert

17-Dec-2025

TL;DR

Panduan ini menjelaskan cara menyelesaikan reCAPTCHA v2 menggunakan API CapSolver dengan Node.js. Panduan ini mencakup implementasi tanpa proxy dan berbasis proxy, instruksi langkah demi langkah untuk setup lingkungan, serta contoh kode Node.js yang siap pakai. Dengan mengikuti tutorial ini, pengembang dapat mengintegrasikan penanganan reCAPTCHA v2 ke dalam alur kerja otomatisasi atau pengumpulan data secara efisien dan andal.

Pendahuluan

reCAPTCHA v2 tetap salah satu mekanisme verifikasi manusia yang paling umum diterapkan di seluruh web. Bagi pengembang yang bekerja dengan alur kerja otomatis, ekstraksi data, atau otomatisasi browser skala besar, menangani reCAPTCHA v2 secara efisien adalah tantangan teknis yang sering muncul.

Dalam artikel ini, kami membimbing Anda melalui implementasi Node.js praktis untuk menyelesaikan reCAPTCHA v2 menggunakan API CapSolver. Anda akan belajar cara mengkonfigurasi lingkungan Anda, menginstal dependensi yang diperlukan, dan menerapkan solusi baik dengan maupun tanpa proxy. Contoh yang disertakan dirancang untuk produksi dan mudah disesuaikan dengan kasus penggunaan dunia nyata.

⚙️ Prasyarat

  • Proxy (Opsional)
  • Node.JS terinstal
  • Kunci API Capsolver

🤖 Langkah 1: Instal Paket yang Diperlukan

Jalankan perintah berikut untuk menginstal paket yang diperlukan:

python Copy
npm install axios

👨‍💻 Kode Node.JS untuk menyelesaikan reCaptcha v2 tanpa proxy

Berikut adalah skrip contoh Node.JS untuk menyelesaikan tugas tersebut:

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

const PAGE_URL = ""; // Ganti dengan situs web Anda
const SITE_KEY = ""; // Ganti dengan situs web Anda
const CLIENT_KEY = "";  // Ganti dengan kunci API CAPSOLVER Anda

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("Mengambil hasil tugas untuk ID tugas: " + 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(`Token yang diterima: ${response.solution.gReCaptcharesponse}`);
        
    }
catch (error) {
    console.error(`Kesalahan: ${error}`);
  }

}
main();

👨‍💻 Kode Node.JS untuk menyelesaikan reCaptcha v2 dengan proxy

Berikut adalah skrip contoh Node.JS untuk menyelesaikan tugas tersebut:

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

const PAGE_URL = ""; // Ganti dengan situs web Anda
const SITE_KEY = ""; // Ganti dengan situs web Anda
const CLIENT_KEY = "";  // Ganti dengan kunci API CAPSOLVER Anda
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("Mengambil hasil tugas untuk ID tugas: " + 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(`Token yang diterima: ${response.solution.gRecaptchaResponse}`);
        
    }
catch (error) {
    console.error(`Kesalahan: ${error}`);
  }

}
main();

⚠️ Ubah variabel ini

  • PROXY: Ganti dengan proxy Anda, hanya jika Anda menggunakan ReCaptchaV2Task.
  • CLIENT_KEY: Dapatkan kunci API Anda dari Dashboard Capsolver.
  • PAGE_URL: Ganti dengan URL situs web yang ingin Anda selesaikan captcha-nya
  • SITE_KEY: Ganti dengan kunci situs dari halaman dengan captcha

👀 Informasi lebih lanjut

Kesimpulan

Menyelesaikan reCAPTCHA v2 dalam Node.js tidak perlu rumit. Dengan memanfaatkan API CapSolver, pengembang dapat menerapkan solusi yang bersih dan skalabel yang berjalan secara andal di berbagai konfigurasi situs web. Baik Anda memilih setup tanpa proxy untuk kesederhanaan atau pendekatan berbasis proxy untuk kontrol yang lebih besar, contoh dalam panduan ini memberikan dasar yang kuat untuk penggunaan produksi.

FAQ

1. Apa perbedaan antara tugas reCAPTCHA v2 tanpa proxy dan berbasis proxy?

Tugas tanpa proxy mengandalkan infrastruktur internal CapSolver dan lebih mudah diimplementasikan, sedangkan tugas berbasis proxy memungkinkan Anda mengontrol reputasi IP dan lokasi geografis untuk tingkat keberhasilan yang lebih tinggi di situs web yang lebih ketat.

2. Kapan saya harus menggunakan ReCaptchaV2Task alih-alih ReCaptchaV2TaskProxyless?

Gunakan ReCaptchaV2Task ketika situs target mewajibkan konsistensi IP atau menerapkan pembatasan regional yang memerlukan konfigurasi proxy tertentu.

3. Berapa lama biasanya waktu untuk menerima token reCAPTCHA v2?

Sebagian besar tugas diselesaikan dalam beberapa detik. Waktu aktual tergantung pada kompleksitas situs, tingkat kesulitan tantangan, dan apakah proxy digunakan.

4. Apakah solusi ini dapat diintegrasikan ke dalam sistem otomatisasi Node.js yang lebih besar?

Ya. Fungsi yang disediakan bersifat modular dan dapat dimasukkan ke dalam crawler, pipeline otomatisasi, atau alur kerja berbasis browser.

Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.

Lebih lanjut