
Adélia Cruz
Neural Network Developer
node-fetch adalah sebuah library JavaScript yang ringan yang membawa API window.fetch ke Node.js. Ini sering digunakan untuk melakukan permintaan HTTP dari lingkungan Node.js, menyediakan cara yang modern dan fleksibel untuk menangani operasi jaringan secara asinkron.
Fitur:
Sebelum menggunakan node-fetch, pastikan Anda memiliki:
Untuk menggunakan node-fetch, Anda perlu menginstalnya menggunakan npm atau yarn:
npm install node-fetch
atau
yarn add node-fetch
Berikut adalah cara melakukan permintaan GET sederhana menggunakan node-fetch:
const fetch = require('node-fetch');
fetch('https://httpbin.org/get')
.then(response => response.json())
.then(data => {
console.log('Response Body:', data);
})
.catch(error => {
console.error('Error:', error);
});
Mari kita ambil data dari API dan log hasilnya:
const fetch = require('node-fetch');
fetch('https://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(posts => {
posts.forEach(post => {
console.log(`${post.title} — ${post.body}`);
});
})
.catch(error => {
console.error('Error:', error);
});
node-fetchPada bagian ini, kita akan mengintegrasikan CapSolver dengan node-fetch untuk menangani captcha. CapSolver menyediakan API untuk menyelesaikan captcha seperti ReCaptcha V3 dan captcha, memungkinkan otomatisasi tugas yang memerlukan penyelesaian captcha tersebut.
node-fetchPertama, instal node-fetch dan CapSolver:
npm install node-fetch
npm install capsolver
Sekarang, berikut cara menyelesaikan ReCaptcha V3 dan menggunakan solusinya dalam permintaan Anda:
const fetch = require('node-fetch');
const CAPSOLVER_KEY = 'YourKey';
const PAGE_URL = 'https://antcpt.com/score_detector';
const PAGE_KEY = '6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf';
const PAGE_ACTION = 'homepage';
async function createTask(url, key, pageAction) {
try {
const apiUrl = 'https://api.capsolver.com/createTask';
const payload = {
clientKey: CAPSOLVER_KEY,
task: {
type: 'ReCaptchaV3TaskProxyLess',
websiteURL: url,
websiteKey: key,
pageAction: pageAction
}
};
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const data = await response.json();
return data.taskId;
} catch (error) {
console.error('Error creating CAPTCHA task:', error);
throw error;
}
}
async function getTaskResult(taskId) {
try {
const apiUrl = 'https://api.capsolver.com/getTaskResult';
const payload = {
clientKey: CAPSOLVER_KEY,
taskId: taskId,
};
let result;
do {
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
result = await response.json();
if (result.status === 'ready') {
return result.solution;
}
await new Promise(resolve => setTimeout(resolve, 5000)); // wait 5 seconds
} while (true);
} catch (error) {
console.error('Error fetching CAPTCHA result:', error);
throw error;
}
}
async function main() {
console.log('Creating CAPTCHA task...');
const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
console.log(`Task ID: ${taskId}`);
console.log('Retrieving CAPTCHA result...');
const solution = await getTaskResult(taskId);
const token = solution.gRecaptchaResponse;
console.log(`Token Solution: ${token}`);
const res = await fetch('https://antcpt.com/score_detector/verify.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ 'g-recaptcha-response': token })
});
const response = await res.json();
console.log(`Score: ${response.score}`);
}
main().catch(err => {
console.error(err);
});
node-fetchUntuk mengarahkan permintaan Anda melalui proxy dengan node-fetch, Anda akan memerlukan proxy agent seperti https-proxy-agent. Berikut cara mengimplementasikannya:
npm install https-proxy-agent
Contoh dengan proxy:
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');
const proxyAgent = new HttpsProxyAgent('http://username:password@proxyserver:8080');
fetch('https://httpbin.org/ip', { agent: proxyAgent })
.then(response => response.json())
.then(data => {
console.log('Response Body:', data);
})
.catch(error => {
console.error('Error:', error);
});
node-fetchUntuk menangani cookie di node-fetch, Anda dapat menggunakan library seperti fetch-cookie. Berikut cara menggunakannya:
npm install fetch-cookie
Contoh:
const fetch = require('node-fetch');
const fetchCookie = require('fetch-cookie');
const cookieFetch = fetchCookie(fetch);
cookieFetch('https://httpbin.org/cookies/set?name=value')
.then(response => response.json())
.then(data => {
console.log('Cookies:', data);
})
.catch(error => {
console.error('Error:', error);
});
Anda dapat menyesuaikan header dan melakukan permintaan POST dengan node-fetch:
const fetch = require('node-fetch');
const headers = {
'User-Agent': 'Mozilla/5.0 (compatible)',
'Accept-Language': 'en-US,en;q=0.5',
};
const data = {
username: 'testuser',
password: 'testpass',
};
fetch('https://httpbin.org/post', {
method: 'POST',
headers: headers,
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('Response JSON:', data);
})
.catch(error => {
console.error('Error:', error);
});
Klaim Kode Bonus Anda untuk solusi captcha teratas di CapSolver: scrape. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap isi ulang, tanpa batas waktu.

Dengan node-fetch, Anda dapat secara efektif mengelola permintaan HTTP di Node.js. Dengan mengintegrasikannya dengan CapSolver, Anda dapat menyelesaikan captcha seperti ReCaptcha V3 dan captcha, memberikan akses ke konten terbatas. Selain itu, node-fetch menawarkan penyesuaian melalui header, dukungan proxy, dan manajemen cookie, menjadikannya alat serbaguna untuk web scraping dan otomatisasi.
Pelajari apa arti skor reCAPTCHA v3 0,0 hingga 1,0, bagaimana ambang batas bekerja, dan bagaimana CapSolver sesuai dengan pengujian berbasis skor yang diizinkan.

Temukan CapSolver, solusi pemecah CAPTCHA tanpa kode terkemuka untuk otomatisasi AI pada tahun 2026, untuk menyederhanakan alur kerja dan meningkatkan pengumpulan data tanpa coding. Pelajari fitur utama, manfaat, dan penggunaan yang etis.
