Sådan opsætter du en proxy i Node.js (Axios og native fetch)
Updated:
Axios' indbyggede indstilling proxy: { host, port } fejler på https://-destinationer, fordi den ikke opretter en HTTP CONNECT-tunnel. For at dirigere Node.js- og TypeScript-anmodninger problemfrit gennem godkendte VinaProxy HTTP(S)-proxyer skal du sende en HttpsProxyAgent (https-proxy-agent) til Axios eller en undici.ProxyAgent-dispatcher til native Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40.000 ₫
- 5+ IP'er35.000 ₫
- 10+ IP'er25.000 ₫
- 20+ IP'er25.000 ₫
- 50+ IP'er25.000 ₫
- 100+ IP'er25.000 ₫
- 200+ IP'er25.000 ₫
- 500+ IP'er25.000 ₫
- 1000+ IP'er22.000 ₫
- 2000+ IP'er20.000 ₫
- 1 IP40.000 ₫
- 5+ IP'er35.000 ₫
- 10+ IP'er25.000 ₫
- 20+ IP'er25.000 ₫
- 50+ IP'er25.000 ₫
- 100+ IP'er25.000 ₫
- 200+ IP'er25.000 ₫
- 500+ IP'er25.000 ₫
- 1000+ IP'er22.000 ₫
- 2000+ IP'er20.000 ₫
Proxykonfiguration: Axios vs. native Node.js fetch()
Begge biblioteker accepterer standard http://user:pass@ip:port-URL'er fra dit VinaProxy-kontrolpanel:
| HTTP-klient | Pakke | Anbefalet kodestykke |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Native 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' }) } }) |
Best practices for forbindelsespuljer og timeouts i Node.js
- Angiv altid
proxy: falsesammen medhttpsAgenti Axios, så Axios ignorerer modstridendeHTTP_PROXY-miljøvariabler i systemet - Instantier
HttpsProxyAgentellerProxyAgentén gang pr. proxy-IP uden for dit loop for at genbruge permanente keep-alive-sockets - Eksportér din VinaProxy-proxyliste direkte som et JSON-array ved hjælp af vores Proxy Format Converter
Trin for trin
- 1
Installer https-proxy-agent (eller undici)
Kør
npm install axios https-proxy-agenti dit Node.js-projekt. - 2
Opret HttpsProxyAgent-instansen
Initialiser
const agent = new HttpsProxyAgent('http://user:pass@ip:port');ved hjælp af dine VinaProxy-loginoplysninger. - 3
Send httpsAgent og proxy: false til Axios
Kald
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Bekræft udgangs-IP'en
Log
res.datafor at bekræfte, at svaret kom igennem din dedikerede proxy-IP.
Ofte stillede spørgsmål
Hvorfor fejler Axios' standardindstilling `proxy: { host, port, auth }` på HTTPS-URL'er?
Axios' indbyggede proxykonfiguration sender en almindelig HTTP-anmodning i stedet for at åbne en HTTP CONNECT-TLS-tunnel. Dette løses ved at bruge httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') med proxy: false.
Hvordan bruger jeg en proxy med native `fetch()` i Node.js 18/20/22?
Importér ProxyAgent fra undici, og send { dispatcher: new ProxyAgent('http://user:pass@ip:port') } i options-objektet for fetch().
Kan jeg konvertere min proxyliste til JSON til Node.js?
Ja – indsæt dine ip:port:user:pass-linjer i vores gratis Proxy Format Converter, og vælg JSON-output.
Styrk dine Node.js-backends og scrapere med statiske IP'er
Øjeblikkelige ubegrænsede dedikerede IPv4- og statiske ISP-proxyer i 7 lande.
Køb Node.js-proxyer