Node.js дээр прокси хэрхэн тохируулах вэ (Axios & Native Fetch)
Updated:
Axios-ийн суурилагдсан proxy: { host, port } сонголт нь HTTP CONNECT туннель үүсгэдэггүй тул https:// хаягууд дээр ажилладаггүй. Node.js болон TypeScript хүсэлтүүдийг VinaProxy-ийн баталгаажуулалттай HTTP(S) проксигоор алдаагүй дамжуулахын тулд Axios-т HttpsProxyAgent (https-proxy-agent), харин Node-ийн үндсэн fetch()-д undici.ProxyAgent диспетчер дамжуулна уу.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP₫ 40,000
- 5+ IP₫ 35,000
- 10+ IP₫ 25,000
- 20+ IP₫ 25,000
- 50+ IP₫ 25,000
- 100+ IP₫ 25,000
- 200+ IP₫ 25,000
- 500+ IP₫ 25,000
- 1000+ IP₫ 22,000
- 2000+ IP₫ 20,000
- 1 IP₫ 40,000
- 5+ IP₫ 35,000
- 10+ IP₫ 25,000
- 20+ IP₫ 25,000
- 50+ IP₫ 25,000
- 100+ IP₫ 25,000
- 200+ IP₫ 25,000
- 500+ IP₫ 25,000
- 1000+ IP₫ 22,000
- 2000+ IP₫ 20,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 }) |
Үндсэн 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 дээрх холболтын сан (connection pooling) болон timeout-ийн шилдэг туршлагууд
- Axios нь системийн зөрчилтэй
HTTP_PROXYорчны хувьсагчдыг үл тоомсорлохын тулд Axios дотор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 хүсэлт илгээдэг. httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port')-ийг proxy: false-тай хамт ашигласнаар үүнийг шийднэ.
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 гаралтыг сонгоно уу.
Статик IP-ээр Node.js backend болон scraper-уудаа хүчирхэгжүүлээрэй
7 улсын хязгааргүй траффиктай Dedicated IPv4 болон Static ISP проксиг шууд аваарай.
Node.js прокси худалдаж авах