Jak używać proxy w Node.js (fetch i axios)
Node.js 18 i nowsze dostarczają fetch przez undici. ProxyAgent wysyła każde żądanie przez bramę z Twoją nazwą użytkownika i hasłem.
Kroki
- Zainstaluj undici za pomocą npm install undici
- Utwórz ProxyAgent z URL bramy i Twoim loginem
- Przekaż go jako dispatcher do fetch
- Dodaj kod kraju lub identyfikator sesji do nazwy użytkownika, gdy jest to potrzebne
Przykładowy kod
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());Zastąp USERNAME i PASSWORD loginem proxy ze strony Proxies w konsoli. Port 10000 to residential HTTP; zobacz porty każdego produktu poniżej.
Porady
- W axios ustaw proxy: { protocol: "http", host, port, auth: { username, password } }
- Utwórz jednego agenta na identyfikator sesji, gdy potrzebujesz kilku stałych IP jednocześnie
Częste pytania
Czy działa z witrynami HTTPS?
Tak. Agent otwiera tunel CONNECT do celu, więc HTTPS pozostaje szyfrowany end-to-end.