Kako podesiti proxy u Node.js-u (Axios i izvorni Fetch)
Updated:
Ugrađena Axios opcija proxy: { host, port } ne radi na https:// ciljevima jer ne pokreće HTTP CONNECT tunel. Da biste čisto usmjerili Node.js i TypeScript zahtjeve kroz VinaProxy autentifikovane HTTP(S) proxyje, proslijedite HttpsProxyAgent (https-proxy-agent) u Axios ili undici.ProxyAgent dispečer u izvorni Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40.000 ₫
- 5+ IP-ova35.000 ₫
- 10+ IP-ova25.000 ₫
- 20+ IP-ova25.000 ₫
- 50+ IP-ova25.000 ₫
- 100+ IP-ova25.000 ₫
- 200+ IP-ova25.000 ₫
- 500+ IP-ova25.000 ₫
- 1000+ IP-ova22.000 ₫
- 2000+ IP-ova20.000 ₫
- 1 IP40.000 ₫
- 5+ IP-ova35.000 ₫
- 10+ IP-ova25.000 ₫
- 20+ IP-ova25.000 ₫
- 50+ IP-ova25.000 ₫
- 100+ IP-ova25.000 ₫
- 200+ IP-ova25.000 ₫
- 500+ IP-ova25.000 ₫
- 1000+ IP-ova22.000 ₫
- 2000+ IP-ova20.000 ₫
Podešavanje proxyja: Axios naspram izvornog Node.js fetch()
Obje biblioteke prihvataju standardne http://user:pass@ip:port URL-ove s vaše VinaProxy kontrolne table:
| HTTP klijent | Paket | Preporučeni isječak koda |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Izvorni 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' }) } }) |
Najbolje prakse za connection pooling i timeout u Node.js-u
- Uvijek postavite
proxy: falseuzhttpsAgentu Axiosu kako bi Axios ignorisao konfliktne sistemskeHTTP_PROXYvarijable okruženja - Instancirajte
HttpsProxyAgentiliProxyAgentjednom po proxy IP-ju izvan petlje kako biste ponovo iskoristili perzistentne keep-alive sokete - Izvezite svoju VinaProxy proxy listu direktno kao JSON niz koristeći naš Proxy Format Converter
Korak po korak
- 1
Instalirajte https-proxy-agent (ili undici)
Pokrenite
npm install axios https-proxy-agentu svom Node.js projektu. - 2
Kreirajte instancu HttpsProxyAgent
Inicijalizirajte
const agent = new HttpsProxyAgent('http://user:pass@ip:port');koristeći svoje VinaProxy pristupne podatke. - 3
Proslijedite httpsAgent i proxy: false u Axios
Pozovite
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Verifikujte izlazni IP
Ispišite
res.datau log kako biste potvrdili da je odgovor stigao putem vaše namjenske proxy IP adrese.
Često postavljana pitanja
Zašto Axiosova zadana opcija `proxy: { host, port, auth }` ne radi na HTTPS URL-ovima?
Axiosova ugrađena proxy konfiguracija šalje običan HTTP zahtjev umjesto otvaranja HTTP CONNECT TLS tunela. Korištenje httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') uz proxy: false rješava ovaj problem.
Kako da koristim proxy uz izvorni `fetch()` u Node.js 18/20/22?
Uvezite ProxyAgent iz paketa undici i proslijedite { dispatcher: new ProxyAgent('http://user:pass@ip:port') } u objekt opcija za fetch().
Mogu li pretvoriti svoju proxy listu u JSON za Node.js?
Da—zalijepite svoje ip:port:user:pass linije u naš besplatni Proxy Format Converter i odaberite JSON izlaz.
Osnažite svoje Node.js backend sisteme i scraper-e statičkim IP adresama
Trenutni neograničeni Dedicated IPv4 i Static ISP proxyji u 7 zemalja.
Kupite Node.js proxyje