Како подесити прокси у Node.js-у (Axios и изворни Fetch)
Updated:
Уграђена Axios опција proxy: { host, port } не ради на https:// адресама јер не покреће HTTP CONNECT тунел. Да бисте чисто рутирали Node.js и TypeScript захтеве кроз VinaProxy аутентификоване HTTP(S) проксије, проследите HttpsProxyAgent (https-proxy-agent) у Axios или undici.ProxyAgent диспечер у изворни Node fetch().
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP40.000 VND
- 5+ IP-ја35.000 VND
- 10+ IP-ја25.000 VND
- 20+ IP-ја25.000 VND
- 50+ IP-ја25.000 VND
- 100+ IP-ја25.000 VND
- 200+ IP-ја25.000 VND
- 500+ IP-ја25.000 VND
- 1000+ IP-ја22.000 VND
- 2000+ IP-ја20.000 VND
- 1 IP40.000 VND
- 5+ IP-ја35.000 VND
- 10+ IP-ја25.000 VND
- 20+ IP-ја25.000 VND
- 50+ IP-ја25.000 VND
- 100+ IP-ја25.000 VND
- 200+ IP-ја25.000 VND
- 500+ IP-ја25.000 VND
- 1000+ IP-ја22.000 VND
- 2000+ IP-ја20.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' }) } }) |
Најбоље праксе за пуловање веза и тајмауте у 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-ја.
Често постављана питања
Зашто подразумевани Axios `proxy: { host, port, auth }` не ради на 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 адресама
Тренутни неограничени наменски IPv4 и статички ISP проксији у 7 земаља.
Купите Node.js проксије