Hvordan sette opp proxy i Node.js (Axios og innebygd Fetch)
Updated:
Det innebygde valget proxy: { host, port } i Axios feiler mot https://-mål fordi det ikke oppretter en HTTP CONNECT-tunnel. For å rute forespørsler i Node.js og TypeScript problemfritt gjennom autentiserte HTTP(S)-proxyer fra VinaProxy, kan du sende en HttpsProxyAgent (https-proxy-agent) til Axios eller en undici.ProxyAgent-dispatcher til innebygd 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
Proxy-konfigurasjon: Axios vs. innebygd Node.js fetch()
Begge bibliotekene støtter standard http://user:pass@ip:port-URL-er fra ditt VinaProxy-kontrollpanel:
| HTTP-klient | Pakke | Anbefalt kodesnutt |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Innebygd 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' }) } }) |
Beste praksis for tilkoblingspooling og tidsavbrudd i Node.js
- Sett alltid
proxy: falsesammen medhttpsAgenti Axios, slik at Axios ignorerer motstridendeHTTP_PROXY-miljøvariabler på systemet - Opprett
HttpsProxyAgentellerProxyAgentén gang per proxy-IP utenfor løkken for å gjenbruke vedvarende keep-alive-sockets - Eksporter VinaProxy-proxylisten din direkte som en JSON-matrise ved hjelp av vår Proxy Format Converter
Trinn for trinn
- 1
Installer https-proxy-agent (eller undici)
Kjør
npm install axios https-proxy-agenti Node.js-prosjektet ditt. - 2
Opprett en HttpsProxyAgent-forekomst
Initialiser
const agent = new HttpsProxyAgent('http://user:pass@ip:port');med påloggingsinformasjonen din fra VinaProxy. - 3
Send httpsAgent og proxy: false til Axios
Kall
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Verifiser utgående IP
Loggfør
res.datafor å bekrefte at responsen kom via din dedikerte proxy-IP.
Ofte stilte spørsmål
Hvorfor feiler standard `proxy: { host, port, auth }` i Axios på HTTPS-URL-er?
Axios' innebygde proxy-konfigurasjon sender en ren HTTP-forespørsel i stedet for å åpne en HTTP CONNECT-TLS-tunnel. Dette løses ved å bruke httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') med proxy: false.
Hvordan bruker jeg en proxy med innebygd `fetch()` i Node.js 18/20/22?
Importer ProxyAgent fra undici og send { dispatcher: new ProxyAgent('http://user:pass@ip:port') } i options-objektet til fetch().
Kan jeg konvertere proxylisten min til JSON for Node.js?
Ja – lim inn dine ip:port:user:pass-linjer i vår gratis Proxy Format Converter og velg JSON som format.
Gi kraft til dine Node.js-backends og skrapere med statiske IP-er
Umiddelbare ubegrensede dedikerte IPv4- og statiske ISP-proxyer i 7 land.
Kjøp Node.js-proxyer