Si të konfiguroni një proxy në Node.js (Axios & Native Fetch)
Updated:
Opsioni i integruar i Axios proxy: { host, port } dështon në destinacionet https:// sepse nuk krijon një tunel HTTP CONNECT. Për t'i drejtuar pa problem kërkesat në Node.js dhe TypeScript përmes proxy-ve HTTP(S) të autentikuar nga VinaProxy, kaloni një HttpsProxyAgent (https-proxy-agent) te Axios ose një dispatcher undici.ProxyAgent te fetch() nativ i Node.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
Konfigurimi i proxy-t në Axios kundrejt fetch() nativ të Node.js
Të dyja bibliotekat pranojnë URL standarde http://user:pass@ip:port nga paneli juaj i VinaProxy:
| Klienti HTTP | Paketa | Shembulli i rekomanduar i kodit |
|---|---|---|
| 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' }) } }) |
Praktikat më të mira për connection pooling & timeout në Node.js
- Vendosni gjithmonë
proxy: falsekrahashttpsAgentnë Axios në mënyrë që Axios të injorojë variablat konfliktuale të mjedisitHTTP_PROXYtë sistemit - Krijoni instancën e
HttpsProxyAgentoseProxyAgentnjë herë për çdo IP proxy jashtë ciklit tuaj për të ripërdorur lidhjet e qëndrueshme keep-alive - Eksportoni listën tuaj të proxy-ve nga VinaProxy drejtpërdrejt si një varg JSON duke përdorur mjetin tonë Proxy Format Converter
Hap pas hapi
- 1
Instaloni https-proxy-agent (ose undici)
Ekzekutoni
npm install axios https-proxy-agentnë projektin tuaj Node.js. - 2
Krijoni instancën HttpsProxyAgent
Inicializoni
const agent = new HttpsProxyAgent('http://user:pass@ip:port');duke përdorur kredencialet tuaja të VinaProxy. - 3
Kaloni httpsAgent dhe proxy: false te Axios
Thirrni
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Verifikoni IP-në dalëse
Regjistroni
res.datapër të konfirmuar se përgjigjja erdhi përmes IP-së suaj të dedikuar proxy.
Pyetjet e shpeshta
Pse konfigurimi i parazgjedhur i Axios `proxy: { host, port, auth }` dështon në URL-të HTTPS?
Konfigurimi i integruar i proxy-t në Axios dërgon një kërkesë të thjeshtë HTTP në vend që të hapë një tunel TLS HTTP CONNECT. Përdorimi i httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') me proxy: false e zgjidh këtë.
Si të përdor një proxy me `fetch()` nativ në Node.js 18/20/22?
Importoni ProxyAgent nga undici dhe kaloni { dispatcher: new ProxyAgent('http://user:pass@ip:port') } në objektin e opsioneve të fetch().
A mund ta konvertoj listën time të proxy-ve në JSON për Node.js?
Po—ngjitni rreshtat tuaj ip:port:user:pass në mjetin tonë falas Proxy Format Converter dhe zgjidhni formatin JSON.
Fuqizoni backend-et dhe scraper-at tuaj në Node.js me IP statike
Proxy të dedikuar IPv4 dhe Static ISP të menjëhershëm e pa kufizim trafiku në 7 shtete.
Bleni Proxy për Node.js