Kaip nustatyti proxy Node.js aplinkoje (Axios ir integruotas Fetch)
Updated:
Numatytoji Axios parinktis proxy: { host, port } neveikia su https:// adresais, nes nesukuria HTTP CONNECT tunelio. Norėdami sklandžiai nukreipti Node.js ir TypeScript užklausas per VinaProxy autorizuotus HTTP(S) proxy, perduokite HttpsProxyAgent (https-proxy-agent) į Axios arba undici.ProxyAgent dispečerį į integruotą Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40 000 VND
- Nuo 5 IP35 000 VND
- Nuo 10 IP25 000 VND
- Nuo 20 IP25 000 VND
- Nuo 50 IP25 000 VND
- Nuo 100 IP25 000 VND
- Nuo 200 IP25 000 VND
- Nuo 500 IP25 000 VND
- Nuo 1000 IP22 000 VND
- Nuo 2000 IP20 000 VND
- 1 IP40 000 VND
- Nuo 5 IP35 000 VND
- Nuo 10 IP25 000 VND
- Nuo 20 IP25 000 VND
- Nuo 50 IP25 000 VND
- Nuo 100 IP25 000 VND
- Nuo 200 IP25 000 VND
- Nuo 500 IP25 000 VND
- Nuo 1000 IP22 000 VND
- Nuo 2000 IP20 000 VND
Axios ir integruoto Node.js fetch() proxy konfigūravimas
Abi bibliotekos priima standartinius http://user:pass@ip:port URL iš jūsų VinaProxy valdymo skydelio:
| HTTP klientas | Paketas | Rekomenduojamas kodo fragmentas |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Integruotas 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' }) } }) |
Ryšių telkimo ir skirtojo laiko gerosios praktikos Node.js
- Visada nustatykite
proxy: falsekartu suhttpsAgentbibliotekoje Axios, kad Axios ignoruotų konfliktuojančius sistemosHTTP_PROXYaplinkos kintamuosius - Sukurkite
HttpsProxyAgentarbaProxyAgentegzempliorių vieną kartą kiekvienam proxy IP už ciklo ribų, kad pakartotinai naudotumėte nuolatinius keep-alive lizdus - Eksportuokite savo VinaProxy proxy sąrašą tiesiogiai kaip JSON masyvą naudodami mūsų Proxy Format Converter
Žingsnis po žingsnio
- 1
Įdiekite https-proxy-agent (arba undici)
Paleiskite
npm install axios https-proxy-agentsavo Node.js projekte. - 2
Sukurkite HttpsProxyAgent egzempliorių
Inicijuokite
const agent = new HttpsProxyAgent('http://user:pass@ip:port');naudodami savo VinaProxy prisijungimo duomenis. - 3
Perduokite httpsAgent ir proxy: false į Axios
Iškvieskite
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Patikrinkite išeinantį IP adresą
Išveskite
res.dataį žurnalą, kad įsitikintumėte, jog atsakymas gautas per jūsų dedikuotą proxy IP.
Dažnai užduodami klausimai
Kodėl numatytoji Axios parinktis `proxy: { host, port, auth }` neveikia su HTTPS URL?
Integruota Axios proxy konfigūracija siunčia paprastą HTTP užklausą, užuot atidariusi HTTP CONNECT TLS tunelį. Tai išsprendžiama naudojant httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') kartu su proxy: false.
Kaip naudoti proxy su integruotu `fetch()` Node.js 18/20/22 versijose?
Importuokite ProxyAgent iš undici ir perduokite { dispatcher: new ProxyAgent('http://user:pass@ip:port') } fetch() parinkčių objekte.
Ar galiu konvertuoti savo proxy sąrašą į JSON formatą, skirtą Node.js?
Taip – įklijuokite savo ip:port:user:pass eilutes į mūsų nemokamą Proxy Format Converter ir pasirinkite JSON išvestį.
Sustiprinkite savo Node.js serverius ir duomenų rinkiklius statiniais IP
Akimirksniu paruošti neriboti Dedicated IPv4 ir Static ISP proxy 7 šalyse.
Pirkti Node.js proxy