Proxy beállítása Node.js környezetben (Axios és natív fetch)
Updated:
Az Axios beépített proxy: { host, port } beállítása meghiúsul https:// célpontok esetén, mivel nem hoz létre HTTP CONNECT alagutat. A Node.js és TypeScript kérések zökkenőmentes átirányításához a(z) VinaProxy hitelesített HTTP(S) proxyjain keresztül adjon át egy HttpsProxyAgent (https-proxy-agent) példányt az Axiosnak, vagy egy undici.ProxyAgent dispatchert a natív Node fetch() függvénynek.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
Axios vs. natív Node.js fetch() proxykonfiguráció
Mindkét könyvtár elfogadja a standard http://user:pass@ip:port formátumú URL-eket a(z) VinaProxy vezérlőpultjáról:
| HTTP-kliens | Csomag | Ajánlott kódrészlet |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Natív 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' }) } }) |
Kapcsolatkészletezési és időtúllépési bevált gyakorlatok Node.js-ben
- Mindig állítsa be a
proxy: falseértéket ahttpsAgentmellett az Axiosban, hogy figyelmen kívül hagyja az ütköző rendszerbeliHTTP_PROXYkörnyezeti változókat - A
HttpsProxyAgentvagyProxyAgentpéldányosítását proxy-IP-nként csak egyszer, a cikluson kívül végezze el a tartós keep-alive socketek újrafelhasználásához - Exportálja a(z) VinaProxy proxylistáját közvetlenül JSON-tömbként a Proxy Format Converter eszközünkkel
Lépésről lépésre
- 1
A https-proxy-agent (vagy undici) telepítése
Futtassa az
npm install axios https-proxy-agentparancsot a Node.js-projektjében. - 2
A HttpsProxyAgent-példány létrehozása
Inicializálja a
const agent = new HttpsProxyAgent('http://user:pass@ip:port');objektumot a(z) VinaProxy hitelesítési adataival. - 3
A httpsAgent és a proxy: false átadása az Axiosnak
Hívja meg a
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });kódot. - 4
A kilépő IP-cím ellenőrzése
Írassa ki a
res.dataértékét a naplóba, megerősítve, hogy a válasz a dedikált proxy-IP-jén keresztül érkezett.
Gyakran ismételt kérdések
Miért hibásodik meg az Axios alapértelmezett `proxy: { host, port, auth }` beállítása HTTPS URL-ek esetén?
Az Axios beépített proxykonfigurációja egyszerű HTTP-kérést küld ahelyett, hogy megnyitna egy HTTP CONNECT TLS-alagutat. Ennek javítására használja a httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') beállítást a proxy: false értékkel.
Hogyan használhatok proxyt natív `fetch()` függvénnyel Node.js 18/20/22 alatt?
Importálja a ProxyAgent osztályt a undici csomagból, és adja át a { dispatcher: new ProxyAgent('http://user:pass@ip:port') } értéket a fetch() beállítási objektumában.
Konvertálhatom a proxylistámat JSON-formátumba Node.js-hez?
Igen – illessze be az ip:port:user:pass sorokat az ingyenes Proxy Format Converter eszközünkbe, és válassza ki a JSON kimenetet.
Erősítse Node.js backendjeit és adatgyűjtőit statikus IP-címekkel
Azonnali, forgalomkorlát nélküli Dedikált IPv4 és Statikus ISP proxyk 7 országban.
Node.js proxyk vásárlása