როგორ გავმართოთ პროქსი Node.js-ში (Axios და Native 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+ 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 vs. Node.js-ის სტანდარტული fetch() პროქსის კონფიგურაცია
ორივე ბიბლიოთეკა მხარს უჭერს სტანდარტულ http://user:pass@ip:port ბმულებს თქვენი 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-ში
- Axios-ში
httpsAgent-თან ერთად ყოველთვის მიუთითეთproxy: false, რათა 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 მისამართებზე?
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 პროქსები