Како да поставите прокси во Node.js (Axios и нативен Fetch)
Updated:
Вградената опција proxy: { host, port } на Axios не успева кај https:// целите бидејќи не отвора тунел преку HTTP CONNECT. За чисто пренасочување на барањата од Node.js и TypeScript преку автентицираните HTTP(S) проксија на VinaProxy, проследете HttpsProxyAgent (https-proxy-agent) до Axios или диспечер undici.ProxyAgent до нативниот Node fetch().
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 наспроти нативен Node.js fetch()
Обете библиотеки прифаќаат стандардни http://user:pass@ip:port URL адреси од вашата VinaProxy контролна табла:
| HTTP клиент | Пакет | Препорачан исечок од код |
|---|---|---|
| Axios | npm i https-proxy-agent | axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false }) |
Нативен 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' }) } }) |
Најдобри практики за connection pooling и timeout во Node.js
- Секогаш поставувајте
proxy: falseзаедно соhttpsAgentво Axios, за Axios да ги игнорира конфликтните системски варијабли на опкружувањетоHTTP_PROXY - Иницијализирајте
HttpsProxyAgentилиProxyAgentеднаш по прокси IP надвор од циклусот за повторно користење на постојани keep-alive сокети - Извезете ја вашата листа на VinaProxy проксија директно како JSON низа со помош на нашиот Proxy Format Converter
Чекор по чекор
- 1
Инсталирајте https-proxy-agent (или undici)
Извршете
npm install axios https-proxy-agentво вашиот Node.js проект. - 2
Создадете инстанца на HttpsProxyAgent
Иницијализирајте
const agent = new HttpsProxyAgent('http://user:pass@ip:port');користејќи ги вашите VinaProxy акредитиви. - 3
Проследете httpsAgent и proxy: false до Axios
Повикајте
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
Проверете ја излезната IP-адреса
Испечатете го
res.dataза да потврдите дека одговорот поминал низ вашата наменска прокси IP-адреса.
Често поставувани прашања
Зошто стандардната опција `proxy: { host, port, auth }` на Axios не успева кај HTTPS URL адреси?
Вградената прокси конфигурација на Axios испраќа обично HTTP барање наместо да отвори HTTP CONNECT TLS тунел. Ова се решава со користење на httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') заедно со proxy: false.
Како да користам прокси со нативен `fetch()` во Node.js 18/20/22?
Увезете ProxyAgent од undici и проследете { dispatcher: new ProxyAgent('http://user:pass@ip:port') } во објектот со опции за fetch().
Можам ли да ја конвертирам мојата листа на проксија во JSON за Node.js?
Да — залепете ги вашите ip:port:user:pass линии во нашиот бесплатен Proxy Format Converter и изберете JSON излез.
Зајакнете ги вашите Node.js сервери и скрепери со статички IP адреси
Инстант неограничени Dedicated IPv4 и статички ISP проксија низ 7 земји.
Купете Node.js проксија