Kako postaviti proxy u Node.js-u (Axios i nativni Fetch)
Updated:
Ugrađena opcija proxy: { host, port } u Axiosu ne radi na https:// odredištima jer ne uspostavlja HTTP CONNECT tunel. Kako biste čisto usmjeravali Node.js i TypeScript zahtjeve kroz VinaProxy autentificirane HTTP(S) proxyje, proslijedite HttpsProxyAgent (https-proxy-agent) Axiosu ili undici.ProxyAgent dispečer nativnom Node fetch()-u.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40.000 VND
- 5+ IP-ova35.000 VND
- 10+ IP-ova25.000 VND
- 20+ IP-ova25.000 VND
- 50+ IP-ova25.000 VND
- 100+ IP-ova25.000 VND
- 200+ IP-ova25.000 VND
- 500+ IP-ova25.000 VND
- 1000+ IP-ova22.000 VND
- 2000+ IP-ova20.000 VND
- 1 IP40.000 VND
- 5+ IP-ova35.000 VND
- 10+ IP-ova25.000 VND
- 20+ IP-ova25.000 VND
- 50+ IP-ova25.000 VND
- 100+ IP-ova25.000 VND
- 200+ IP-ova25.000 VND
- 500+ IP-ova25.000 VND
- 1000+ IP-ova22.000 VND
- 2000+ IP-ova20.000 VND
Konfiguracija proxyja: Axios u odnosu na nativni Node.js fetch()
Obje biblioteke prihvaćaju standardne http://user:pass@ip:port URL-ove s vaše VinaProxy upravljačke ploče:
| 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 }) |
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' }) } }) |
Najbolje prakse za connection pooling i timeout u Node.js-u
- Uvijek postavite
proxy: falseuzhttpsAgentu Axiosu kako bi Axios zanemario konfliktne sistemske varijable okruženjaHTTP_PROXY - Instancirajte
HttpsProxyAgentiliProxyAgentjednom po proxy IP adresi izvan petlje kako biste ponovno koristili postojane keep-alive sockete - Izvezite svoj VinaProxy popis proxyja izravno kao JSON niz pomoću našeg alata 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');pomoću svojih VinaProxy vjerodajnica. - 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
Provjerite izlazni IP
Ispišite
res.datakako biste potvrdili da je odgovor stigao putem vaše namjenske proxy IP adrese.
Često postavljana pitanja
Zašto zadana Axiosova opcija `proxy: { host, port, auth }` ne radi na HTTPS URL-ovima?
Ugrađena konfiguracija proxyja u Axiosu šalje običan HTTP zahtjev umjesto otvaranja HTTP CONNECT TLS tunela. Korištenje httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') uz proxy: false to rješava.
Kako koristiti proxy s nativnim `fetch()`-em 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 svoj popis proxyja u JSON za Node.js?
Da—zalijepite svoje ip:port:user:pass retke u naš besplatni Proxy Format Converter i odaberite JSON izlaz.
Osnažite svoje Node.js pozadinske sustave i scrapere statičkim IP adresama
Trenutno dostupni neograničeni Dedicated IPv4 i Static ISP proxyji u 7 zemalja.
Kupite Node.js proxyje