Hvernig á að setja upp proxy í Node.js (Axios og innbyggt Fetch)
Updated:
Innbyggði proxy: { host, port } valkosturinn í Axios virkar ekki á https://-slóðum vegna þess að hann býr ekki til HTTP CONNECT-göng. Til að beina Node.js- og TypeScript-fyrirspurnum greiðlega í gegnum auðkennda HTTP(S)-proxyja frá VinaProxy skal senda HttpsProxyAgent (https-proxy-agent) til Axios eða undici.ProxyAgent-dreifara til hins innbyggða Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40.000 VND
- 5+ IP-tölur35.000 VND
- 10+ IP-tölur25.000 VND
- 20+ IP-tölur25.000 VND
- 50+ IP-tölur25.000 VND
- 100+ IP-tölur25.000 VND
- 200+ IP-tölur25.000 VND
- 500+ IP-tölur25.000 VND
- 1000+ IP-tölur22.000 VND
- 2000+ IP-tölur20.000 VND
- 1 IP40.000 VND
- 5+ IP-tölur35.000 VND
- 10+ IP-tölur25.000 VND
- 20+ IP-tölur25.000 VND
- 50+ IP-tölur25.000 VND
- 100+ IP-tölur25.000 VND
- 200+ IP-tölur25.000 VND
- 500+ IP-tölur25.000 VND
- 1000+ IP-tölur22.000 VND
- 2000+ IP-tölur20.000 VND
Proxy-stillingar í Axios á móti innbyggðu Node.js fetch()
Bæði forritasöfn samþykkja hefðbundnar http://user:pass@ip:port-slóðir úr VinaProxy-stjórnborðinu þínu:
| HTTP-biðlari | Pakki | Ráðlagður kóðabútur |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Innbyggt 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' }) } }) |
Bestu venjur fyrir tengingasöfnun og tímamörk í Node.js
- Settu alltaf
proxy: falsesamhliðahttpsAgentí Axios svo Axios hunsir ósamrýmanlegarHTTP_PROXY-umhverfisbreytur kerfisins - Búðu til tilvik af
HttpsProxyAgenteðaProxyAgenteinu sinni fyrir hvert proxy-IP fyrir utan lykkjuna til að endurnýta varanlegar keep-alive-tengingar - Flyttu VinaProxy-proxylistann þinn út beint sem JSON-fylki með okkar Proxy Format Converter
Skref fyrir skref
- 1
Settu upp https-proxy-agent (eða undici)
Keyrðu
npm install axios https-proxy-agentí Node.js-verkefninu þínu. - 2
Búðu til HttpsProxyAgent-tilvikið
Frumstilltu
const agent = new HttpsProxyAgent('http://user:pass@ip:port');með innskráningarupplýsingum þínum frá VinaProxy. - 3
Sendu httpsAgent og proxy: false til Axios
Kallaðu á
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Staðfestu útgöngu-IP-töluna
Skráðu
res.datatil að staðfesta að svarið hafi borist í gegnum þína sérhæfðu proxy-IP-tölu.
Algengar spurningar
Af hverju bregst sjálfgefin `proxy: { host, port, auth }` stilling Axios á HTTPS-slóðum?
Innbyggð proxy-stilling Axios sendir venjulega HTTP-fyrirspurn í stað þess að opna HTTP CONNECT TLS-göng. Með því að nota httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') ásamt proxy: false leysist þetta.
Hvernig nota ég proxy með innbyggðu `fetch()` í Node.js 18/20/22?
Flyttu inn ProxyAgent úr undici og sendu { dispatcher: new ProxyAgent('http://user:pass@ip:port') } í stillingahlut fetch().
Get ég breytt proxylistanum mínum í JSON fyrir Node.js?
Já – límdu ip:port:user:pass-línurnar þínar inn í ókeypis Proxy Format Converter tólið okkar og veldu JSON-úttak.
Styrktu Node.js-bakenda og skröfur með föstum IP-tölum
Tafarlausir ómældir Dedicated IPv4 og Static ISP proxyjar í 7 löndum.
Kaupa Node.js-proxyja