Så konfigurerar du en proxy i Node.js (Axios & inbyggd fetch)
Updated:
Axios inbyggda alternativ proxy: { host, port } misslyckas för https://-mål eftersom det inte upprättar någon HTTP CONNECT-tunnel. För att dirigera Node.js- och TypeScript-förfrågningar smidigt via autentiserade HTTP(S)-proxyservrar från VinaProxy, skicka en HttpsProxyAgent (https-proxy-agent) till Axios eller en undici.ProxyAgent-dispatcher till inbyggda Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40 000 VND
- 5+ IP:er35 000 VND
- 10+ IP:er25 000 VND
- 20+ IP:er25 000 VND
- 50+ IP:er25 000 VND
- 100+ IP:er25 000 VND
- 200+ IP:er25 000 VND
- 500+ IP:er25 000 VND
- 1000+ IP:er22 000 VND
- 2000+ IP:er20 000 VND
- 1 IP40 000 VND
- 5+ IP:er35 000 VND
- 10+ IP:er25 000 VND
- 20+ IP:er25 000 VND
- 50+ IP:er25 000 VND
- 100+ IP:er25 000 VND
- 200+ IP:er25 000 VND
- 500+ IP:er25 000 VND
- 1000+ IP:er22 000 VND
- 2000+ IP:er20 000 VND
Proxykonfiguration i Axios vs. inbyggda Node.js fetch()
Båda biblioteken stöder vanliga http://user:pass@ip:port-adresser från din VinaProxy-kontrollpanel:
| HTTP-klient | Paket | Rekommenderat kodavsnitt |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Inbyggd fetch (Node 18+) | npm i undici | fetch(url, { dispatcher: new ProxyAgent('http://user:pass@ip:port') }) |
| Got | npm i hpagent | got(url, { agent: { https: new HttpsProxyAgent({ proxy: 'http://user:pass@ip:port' }) } }) |
Bästa praxis för anslutningspooler och timeouts i Node.js
- Sätt alltid
proxy: falsetillsammans medhttpsAgenti Axios så att Axios ignorerar motstridiga systemmiljövariabler förHTTP_PROXY - Instansiera
HttpsProxyAgentellerProxyAgenten gång per proxy-IP utanför din loop för att återanvända beständiga keep-alive-sockets - Exportera din VinaProxy-proxylista direkt som en JSON-array med hjälp av vår Proxy Format Converter
Steg för steg
- 1
Installera https-proxy-agent (eller undici)
Kör
npm install axios https-proxy-agenti ditt Node.js-projekt. - 2
Skapa HttpsProxyAgent-instansen
Initiera
const agent = new HttpsProxyAgent('http://user:pass@ip:port');med dina VinaProxy-inloggningsuppgifter. - 3
Skicka httpsAgent och proxy: false till Axios
Anropa
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Verifiera utgående IP
Logga
res.dataför att bekräfta att svaret skickades via din dedikerade proxy-IP.
Vanliga frågor
Varför misslyckas Axios standardkonfiguration `proxy: { host, port, auth }` med HTTPS-URL:er?
Axios inbyggda proxykonfiguration skickar en vanlig HTTP-förfrågan istället för att öppna en HTTP CONNECT-TLS-tunnel. Att använda httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') med proxy: false löser detta.
Hur använder jag en proxy med inbyggd `fetch()` i Node.js 18/20/22?
Importera ProxyAgent från undici och skicka { dispatcher: new ProxyAgent('http://user:pass@ip:port') } i inställningsobjektet för fetch().
Kan jag konvertera min proxylista till JSON för Node.js?
Ja – klistra in dina ip:port:user:pass-rader i vår kostnadsfria Proxy Format Converter och välj JSON som utdata.
Ge dina Node.js-backends och scrapers kraft med statiska IP-adresser
Omedelbara obegränsade dedikerade IPv4- och statiska ISP-proxyservrar i 7 länder.
Köp Node.js-proxys