Node.js-те проксиді қалай баптауға болады (Axios және Native Fetch)
Updated:
Axios-тың кірістірілген proxy: { host, port } параметрі https:// мекенжайларында жұмыс істемейді, себебі ол HTTP CONNECT туннелін ашпайды. Node.js және TypeScript сұрауларын VinaProxy аутентификацияланған HTTP(S) проксилері арқылы дұрыс бағыттау үшін Axios-қа HttpsProxyAgent (https-proxy-agent) немесе Node жүйесінің кірістірілген fetch() функциясына undici.ProxyAgent диспетчерін беріңіз.
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 ₫
Axios және Node.js-тің кірістірілген fetch() прокси баптауын салыстыру
Екі кітапхана да VinaProxy бақылау тақтасынан алынған стандартты http://user:pass@ip:port URL мекенжайларын қабылдайды:
| HTTP клиенті | Пакет | Ұсынылатын код үзіндісі |
|---|---|---|
| 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' }) } }) |
Node.js-тегі қосылымдар пулы және таймаут бойынша үздік тәжірибелер
- Axios жүйелік
HTTP_PROXYортасының қайшылықты айнымалыларын елемеуі үшін әрқашанhttpsAgentпараметрімен қатарproxy: falseмәнін орнатыңыз - Тұрақты keep-alive сокеттерін қайта пайдалану үшін циклдің сыртында әр прокси IP үшін
HttpsProxyAgentнемесеProxyAgentданасын бір рет жасаңыз - Біздің Proxy Format Converter құралын пайдаланып, VinaProxy прокси тізімін тікелей JSON массиві ретінде экспорттаңыз
Қадам бойынша
- 1
https-proxy-agent (немесе undici) орнату
Node.js жобаңызда
npm install axios https-proxy-agentпәрменін орындаңыз. - 2
HttpsProxyAgent данасын жасау
VinaProxy деректерін пайдаланып
const agent = new HttpsProxyAgent('http://user:pass@ip:port');инициализациялаңыз. - 3
Axios-қа httpsAgent және proxy: false мәндерін беру
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });шақырыңыз. - 4
Шығыс IP мекенжайын тексеру
Жауап бөлінген прокси IP арқылы келгенін растау үшін
res.dataдерегін консольге шығарыңыз.
Жиі қойылатын сұрақтар
Неліктен Axios-тың әдепкі `proxy: { host, port, auth }` баптауы HTTPS URL мекенжайларында жұмыс істемейді?
Axios-тың кірістірілген прокси баптауы HTTP CONNECT TLS туннелін ашудың орнына қарапайым HTTP сұрауын жібереді. proxy: false параметрімен бірге httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') пайдалану бұл мәселені шешеді.
Node.js 18/20/22 нұсқаларында кірістірілген `fetch()` көмегімен проксиді қалай пайдалануға болады?
undici пакетінен ProxyAgent импорттап, оны fetch() опциялар нысанына { dispatcher: new ProxyAgent('http://user:pass@ip:port') } ретінде беріңіз.
Node.js үшін прокси тізімімді JSON форматына түрлендіре аламын ба?
Иә—ip:port:user:pass жолдарыңызды біздің тегін Proxy Format Converter құралына қойып, JSON форматындағы нәтижені таңдаңыз.
Node.js серверлері мен скраперлеріңізді статикалық IP-мен күшейтіңіз
7 елде шектеусіз лезде қолжетімді Dedicated IPv4 және Static ISP проксилері.
Node.js проксилерін сатып алу