Node.js-da proksini qanday sozlash kerak (Axios va Native Fetch)
Updated:
Axios-ning o‘rnatilgan proxy: { host, port } parametri https:// manzillarida ishlamaydi, chunki u HTTP CONNECT tunnelini yaratmaydi. Node.js va TypeScript so‘rovlarini VinaProxy autentifikatsiyali HTTP(S) proksilari orqali to‘g‘ri yo‘naltirish uchun Axios-ga HttpsProxyAgent (https-proxy-agent) yoki tizimdagi Node fetch() funksiyasiga undici.ProxyAgent dispetcherini uzating.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 ta IP40 000 ₫
- 5+ ta IP35 000 ₫
- 10+ ta IP25 000 ₫
- 20+ ta IP25 000 ₫
- 50+ ta IP25 000 ₫
- 100+ ta IP25 000 ₫
- 200+ ta IP25 000 ₫
- 500+ ta IP25 000 ₫
- 1000+ ta IP22 000 ₫
- 2000+ ta IP20 000 ₫
- 1 ta IP40 000 ₫
- 5+ ta IP35 000 ₫
- 10+ ta IP25 000 ₫
- 20+ ta IP25 000 ₫
- 50+ ta IP25 000 ₫
- 100+ ta IP25 000 ₫
- 200+ ta IP25 000 ₫
- 500+ ta IP25 000 ₫
- 1000+ ta IP22 000 ₫
- 2000+ ta IP20 000 ₫
Axios va native Node.js fetch() proksi konfiguratsiyasi
Har ikkala kutubxona ham VinaProxy boshqaruv panelingizdagi standart http://user:pass@ip:port URL manzillarini qabul qiladi:
| HTTP mijoz | Paket | Tavsiya etilgan kod namunasi |
|---|---|---|
| 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-da ulanishlar puli va timeout bo‘yicha eng yaxshi amaliyotlar
- Axios ziddiyatli tizim
HTTP_PROXYmuhit o‘zgaruvchilarini e’tiborsiz qoldirishi uchun har doimhttpsAgentbilan birgaproxy: falsesozlamasini o‘rnating - Doimiy keep-alive soketlaridan qayta foydalanish uchun sikl tashqarisida har bir proksi IP uchun
HttpsProxyAgentyokiProxyAgentobyektini bir marta yarating - Bizning Proxy Format Converter vositamiz yordamida VinaProxy proksi ro‘yxatingizni to‘g‘ridan-to‘g‘ri JSON massivi sifatida eksport qiling
Bosqichma-bosqich
- 1
https-proxy-agent (yoki undici) paketini o‘rnating
Node.js loyihangizda
npm install axios https-proxy-agentbuyrug‘ini bajaring. - 2
HttpsProxyAgent nusxasini yarating
VinaProxy hisob ma’lumotlaringizdan foydalanib
const agent = new HttpsProxyAgent('http://user:pass@ip:port');kodini ishga tushiring. - 3
Axios-ga httpsAgent va proxy: false parametrlarini uzating
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });so‘rovini chaqiring. - 4
Chiqish IP manzilini tekshiring
Javob sizning ajratilgan proksi IP manzilingiz orqali kelganini tasdiqlash uchun
res.datani konsolga chiqaring.
Ko‘p so‘raladigan savollar
Nega Axios-dagi standart `proxy: { host, port, auth }` sozlamasi HTTPS URL manzillarida ishlamaydi?
Axios-ning o‘rnatilgan proksi konfiguratsiyasi HTTP CONNECT TLS tunnelini ochish o‘rniga oddiy HTTP so‘rovini yuboradi. Buni to‘g‘rilash uchun proxy: false bilan birga httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') dan foydalaniladi.
Node.js 18/20/22 versiyalarida native `fetch()` bilan proksidan qanday foydalaniladi?
undici paketidan ProxyAgent ni import qiling va fetch() parametrlar obyektiga { dispatcher: new ProxyAgent('http://user:pass@ip:port') } ni uzating.
Proksi ro‘yxatimni Node.js uchun JSON formatiga o‘gira olamanmi?
Ha — bepul Proxy Format Converter vositamizga ip:port:user:pass qatorlarini joylashtiring va JSON chiqish formatini tanlang.
Node.js backend va skraperlaringizni statik IP-lar bilan kuchaytiring
7 ta mamlakat bo‘ylab cheklovsiz tezkor ajratilgan IPv4 va statik ISP proksilari.
Node.js proksilarini sotib olish