Paano mag-set up ng proxy sa Node.js (Axios at Native Fetch)
Updated:
Bumibigo ang built-in na opsyong proxy: { host, port } ng Axios sa mga https:// na target dahil hindi ito naglalabas ng HTTP CONNECT tunnel. Upang maayos na mai-route ang mga request sa Node.js at TypeScript sa mga authenticated na HTTP(S) proxy ng VinaProxy, magpasa ng HttpsProxyAgent (https-proxy-agent) sa Axios o ng undici.ProxyAgent dispatcher sa native na fetch() ng Node.
new HttpsProxyAgent('http://user:pass@ip:port')- 1 IP₫40,000
- 5+ na IP₫35,000
- 10+ na IP₫25,000
- 20+ na IP₫25,000
- 50+ na IP₫25,000
- 100+ na IP₫25,000
- 200+ na IP₫25,000
- 500+ na IP₫25,000
- 1000+ na IP₫22,000
- 2000+ na IP₫20,000
- 1 IP₫40,000
- 5+ na IP₫35,000
- 10+ na IP₫25,000
- 20+ na IP₫25,000
- 50+ na IP₫25,000
- 100+ na IP₫25,000
- 200+ na IP₫25,000
- 500+ na IP₫25,000
- 1000+ na IP₫22,000
- 2000+ na IP₫20,000
Configuration ng proxy sa Axios vs. Native Node.js fetch()
Tumatanggap ang parehong library ng mga karaniwang http://user:pass@ip:port URL mula sa iyong VinaProxy dashboard:
| HTTP Client | Package | Inirerekomendang Code Snippet |
|---|---|---|
| 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' }) } }) |
Mga pinakamahusay na kasanayan sa connection pooling at timeout sa Node.js
- Laging itakda ang
proxy: falsekasabay nghttpsAgentsa Axios upang balewalain ng Axios ang mga sumasalungat na environment variable ng system naHTTP_PROXY - Mag-instantiate ng
HttpsProxyAgentoProxyAgentnang isang beses bawat proxy IP sa labas ng iyong loop upang muling magamit ang mga persistent na keep-alive socket - Direktang i-export ang listahan ng proxy ng iyong VinaProxy bilang isang JSON array gamit ang aming Proxy Format Converter
Sunod-sunod na hakbang
- 1
I-install ang https-proxy-agent (o undici)
Patakbuhin ang
npm install axios https-proxy-agentsa iyong proyekto sa Node.js. - 2
Gawin ang HttpsProxyAgent instance
I-initialize ang
const agent = new HttpsProxyAgent('http://user:pass@ip:port');gamit ang iyong mga kredensyal sa VinaProxy. - 3
Ipasa ang httpsAgent at proxy: false sa Axios
Tawagin ang
const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });. - 4
I-verify ang exit IP
I-log ang
res.dataupang kumpirmahing dumaan ang tugon sa iyong nakalaang proxy IP.
Mga madalas itanong
Bakit bumibigo ang default na `proxy: { host, port, auth }` ng Axios sa mga HTTPS URL?
Nagpapadala ang built-in na proxy config ng Axios ng payak na HTTP request sa halip na magbukas ng isang HTTP CONNECT TLS tunnel. Naaayos ito sa pamamagitan ng paggamit ng httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') na may proxy: false.
Paano ako gagamit ng proxy gamit ang native na `fetch()` sa Node.js 18/20/22?
I-import ang ProxyAgent mula sa undici at ipasa ang { dispatcher: new ProxyAgent('http://user:pass@ip:port') } sa options object ng fetch().
Maaari ko bang i-convert ang aking listahan ng proxy sa JSON para sa Node.js?
Oo—i-paste ang iyong mga linya ng ip:port:user:pass sa aming libreng Proxy Format Converter at piliin ang JSON output.
Palakasin ang iyong mga Node.js backend at scraper gamit ang mga static IP
Agarang unmetered na mga Dedicated IPv4 at Static ISP proxy sa 7 bansa.
Bumili ng mga Node.js Proxy