Як використовувати проксі в Node.js (fetch та axios)
Node.js 18 і новіші включають fetch через undici. ProxyAgent відправляє кожен запит через шлюз з вашим іменем користувача та паролем.
Кроки
- Встановіть undici за допомогою npm install undici
- Створіть ProxyAgent з URL шлюзу та вашим логіном
- Передайте його як dispatcher до fetch
- Додайте код країни або ідентифікатор сесії до імені користувача, коли це потрібно
Приклад коду
import { ProxyAgent, fetch } from "undici";
const agent = new ProxyAgent({
uri: "http://gw.gbproxies.cc:10000",
token: "Basic " + Buffer.from("USERNAME-cc-de:PASSWORD").toString("base64"),
});
const r = await fetch("https://api.ipify.org?format=json", { dispatcher: agent });
console.log(await r.json());Замініть USERNAME та PASSWORD на логін проксі зі сторінки Proxies у консолі. Порт 10000, це резидентський HTTP; див. порти кожного продукту нижче.
Поради
- З axios встановіть proxy: { protocol: "http", host, port, auth: { username, password } }
- Створіть один агент на ідентифікатор сесії, коли вам потрібно кілька статичних IP одночасно
Поширені запитання
Чи працює це з HTTPS-сайтами?
Так. Агент відкриває CONNECT-тунель до цілі, тому HTTPS залишається зашифрованим від кінця до кінця.