כיצד להגדיר פרוקסי ב-Node.js (Axios ו-Native Fetch)
Updated:
האפשרות המובנית proxy: { host, port } של Axios נכשלת ביעדי https:// מכיוון שאינה יוצרת מנהרת HTTP CONNECT. כדי לנתב בקשות Node.js ו-TypeScript בצורה חלקה דרך שרתי פרוקסי HTTP(S) מאומתים של VinaProxy, העבר HttpsProxyAgent (https-proxy-agent) ל-Axios או מפיץ (dispatcher) מסוג undici.ProxyAgent ל-fetch() המובנה של Node.
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 מול fetch() המובנה של Node.js
שתי הספריות מקבלות כתובות URL סטנדרטיות במבנה 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' }) } }) |
שיטות מומלצות לניהול Connection pooling ו-timeout ב-Node.js
- הגדר תמיד
proxy: falseלצדhttpsAgentב-Axios כדי ש-Axios יתעלם ממשתני סביבה סותרים שלHTTP_PROXYבמערכת - צור מופע של
HttpsProxyAgentאוProxyAgentפעם אחת בלבד לכל כתובת IP של פרוקסי מחוץ ללולאה, כדי לעשות שימוש חוזר בחיבורי keep-alive קבועים - ייצא את רשימת הפרוקסי שלך ב-VinaProxy ישירות כמערך JSON באמצעות ממיר פורמט הפרוקסי שלנו
שלב אחר שלב
- 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 של היציאה
רשום ב-log את
res.dataכדי לוודא שהתגובה הגיעה דרך כתובת ה-IP הייעודית של הפרוקסי שלך.
שאלות נפוצות
מדוע הגדרת ברירת המחדל `proxy: { host, port, auth }` של Axios נכשלת בכתובות HTTPS?
הגדרת הפרוקסי המובנית של Axios שולחת בקשת HTTP רגילה במקום לפתוח מנהרת TLS מסוג HTTP CONNECT. שימוש ב-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 שלך ב-ממיר פורמט הפרוקסי החינמי שלנו ובחר בפלט JSON.
שדרג את שרתי ה-Node.js וכלי ה-Scraping שלך עם כתובות IP סטטיות
פרוקסי ייעודי IPv4 ופרוקסי ISP סטטי ללא הגבלת תעבורה באופן מיידי ב-7 מדינות.
קנה פרוקסי ל-Node.js