In this Article
يُستخدم Node.js على نطاق واسع في التجريف والأتمتة، والطريقتان اللتان يعتمد عليهما معظم الناس لإجراء اتصالات HTTP هما Axios وfetch المدمج. من السهل إضافة بروكسي إلى أي منهما بعد معرفة النمط الصحيح، لكن كليهما ينطوي على نقاط يجب الانتباه إليها: خيار proxy المدمج في Axios غير موثوق مع HTTPS، أما fetch الأصلي فلا يتضمن خيار بروكسي إطلاقاً، لذا عليك توجيهه عبر وكيل أو موزع بدلاً من ذلك. يوضح هذا الدليل بالتحديد كيفية استخدام بروكسي مع Node.js (Axios وfetch الأصلي وnode-fetch وSOCKS5 والتدوير)، ثم يرتب أفضل 8 بروكسيات لـ Node.js في 2026. يمثل DataImpulse بسعر $1/GB معيار القيمة.
أنا Andrii Byzov، مدير تسويق جزئي يعتمد على AI، وأطوّر أدوات تجريف Node يومياً. ستجد أدناه أنماطاً جاهزة للنسخ واللصق تعمل فعلاً، ومشكلة Axios مع HTTPS، والمزوّدين الذين يستحقون ميزانيتك.
حقائق أساسية
- مع Axios، استخدم وكيلاً للبروكسي، لا الخيار المدمج. إعداد
proxyفي Axios غير موثوق مع أهداف HTTPS، لذا مررhttps-proxy-agentبوصفهhttpsAgentواضبطproxy: false. - لا يحتوي
fetchالأصلي (Node 18+) على خيار بروكسي. وجّهه عبرProxyAgentمن undici باستخدام خيارdispatcher. - node-fetch (حزمة npm، والإصدار v3 خاص بـ ESM فقط) يقبل
agent، لذا استخدمhttps-proxy-agent. - تُدرج بيانات الاعتماد في URL البروكسي، أي
http://user:pass@host:port، ويستخدم SOCKS5socks-proxy-agent. - DataImpulse هو خيار القيمة، إذ يوفر البروكسيات السكنية بسعر $1/GB بنظام الدفع حسب الاستخدام، ومركز البيانات بسعر $0.50/GB، والمحمول بسعر $2/GB، وأكثر من 90M عنوان IP في 195 دولة، مع HTTP/HTTPS/SOCKS5 والاستهداف حسب الدولة/المدينة/ASN.
كيفية استخدام بروكسي مع Node.js
1. Axios (باستخدام https-proxy-agent، الطريقة الموثوقة)
// npm i axios https-proxy-agent
const axios = require('axios');
const { HttpsProxyAgent } = require('https-proxy-agent');
const proxy = 'http://YOUR_LOGIN__cr.us:[email protected]:823'; // __cr.us = US
const agent = new HttpsProxyAgent(proxy);
axios.get('https://httpbin.org/ip', { httpsAgent: agent, proxy: false })
.then(r => console.log(r.data)); // confirm the egress IP
يخبر ضبط proxy: false مكتبة Axios باستخدام الوكيل بدلاً من معالجتها الخاصة للبروكسي، التي تعاني مشكلات مع HTTPS. وتُطبّق بيانات الاعتماد الموجودة في URL تلقائياً.
2. fetch الأصلي (Node 18+) عبر undici ProxyAgent
// npm i undici
const { ProxyAgent } = require('undici');
const dispatcher = new ProxyAgent('http://YOUR_LOGIN__cr.us:[email protected]:823');
const res = await fetch('https://httpbin.org/ip', { dispatcher });
console.log(await res.json());
لا يتضمن fetch الأصلي خيار proxy، لذا مرر dispatcher. استخدم setGlobalDispatcher(dispatcher) من undici لتطبيقه على كل استدعاء fetch.
3. node-fetch عبر وكيل
// npm i node-fetch https-proxy-agent
// node-fetch v3 is ESM-only — use import (or pin node-fetch@2 for require)
import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://YOUR_LOGIN__cr.us:[email protected]:823');
const res = await fetch('https://httpbin.org/ip', { agent });
console.log(await res.json());
4. SOCKS5 والتدوير
// npm i socks-proxy-agent — for SOCKS5 (port 824)
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5://YOUR_LOGIN__cr.us:[email protected]:824');
axios.get('https://httpbin.org/ip', { httpsAgent: agent, proxy: false }).then(r => console.log(r.data));
مع بوابة DataImpulse السكنية الدوّارة، يخرج كل طلب عبر الوكيل من عنوان IP جديد، من دون قائمة بروكسيات لإدارتها. ولتدوير قائمة ثابتة، أنشئ وكيلاً جديداً لكل طلب من URL بروكسي مختلف.
أفضل بروكسيات لـ Node.js في لمحة
| المزوّد | الأفضل لـ Node.js | سعر البروكسي السكني | البروتوكولات | مميزات بارزة |
|---|---|---|---|---|
| DataImpulse | أفضل قيمة، أدوات التجريف والروبوتات | $1/GB الدفع حسب الاستخدام | HTTP/HTTPS/SOCKS5 | مجموعة 90M+، بلا انتهاء صلاحية |
| Bright Data | للشركات والإدارة المتكاملة | ~$4/GB ترويجي، $8 عادي | HTTP/HTTPS/SOCKS5 | Web Unlocker، SERP API، مجموعات بيانات |
| Oxylabs | اتفاقية مستوى خدمة للشركات | بدءاً من $6/GB | HTTP/HTTPS/SOCKS5 | مجموعة 175M+، واجهات API للتجريف |
| Decodo | السوق المتوسطة، تغطية جغرافية كاملة | $3.75/GB (~$2 عند 1TB+) | HTTP/HTTPS/SOCKS5 | مجموعة 115M+، ثابت حتى 24h |
| IPRoyal | جلسات ثابتة طويلة | بدءاً من $7.35/GB | HTTP/HTTPS/SOCKS5 | ثابت حتى 7 أيام، دفع حسب الاستخدام منخفض التكلفة |
| SOAX | مزيج سكني ومحمول | $3.60/GB فئة البداية | HTTP/HTTPS/SOCKS5 | 155M+ سكني، 33M+ محمول |
| Webshare | اقتصادي وخدمة ذاتية | بدءاً من $3.50/mo سكني، $2.99/mo لمركز البيانات | HTTP/SOCKS5 | فئة مجانية، أرخص مركز بيانات |
| NetNut | استقرار ISP السكني | بدءاً من $3.53/GB | HTTP/HTTPS | عناوين IP ثابتة لمشتركي ISP |

الخيارات باختصار
يُعد DataImpulse معيار القيمة لأعمال Node.js، مع بروكسيات سكنية بسعر $1/GB بنظام الدفع حسب الاستخدام (مركز البيانات $0.50/GB، والمحمول $2/GB)، وأكثر من 90M عنوان IP في 195 دولة، وHTTP/HTTPS وSOCKS5، مع الاستهداف حسب الدولة/المدينة/ASN في اسم المستخدم. لا تنتهي صلاحية حركة المرور أبداً، لذلك لا تستهلك عمليات التطوير اشتراكك. معدل النجاح المنشور هو 99.51%، وتقييم G2 هو 4.8/5، مع دعم بشري على مدار 24/7. ولتجريف Node بكميات كبيرة، فهو الأقل كلفة لكل طلب ناجح.
يُعد Bright Data خيار الشركات (السكني ~$8/GB بالسعر العادي، و~$4 ترويجي) مع Web Unlocker وSERP API ومجموعات البيانات. ويُعد Oxylabs (بدءاً من $6/GB، ومجموعة 175M+) خياراً بمستوى SLA. أما Decodo (بدءاً من $3.75/GB، وثبات حتى 24h) فهو الخيار المتوازن للسوق المتوسطة. ويلائم IPRoyal (بدءاً من $7.35/GB، وثبات حتى 7 أيام) النصوص البرمجية الطويلة ذات الجلسات المستقرة. ويضيف SOAX ($3.60/GB، و155M+ سكني + 33M+ محمول) مجموعة قوية للمحمول. ويُعد Webshare (فئة مجانية، ومركز بيانات بدءاً من $2.99/mo) مدخلاً اقتصادياً بالخدمة الذاتية، بينما يُعد NetNut (بدءاً من $3.53/GB) خيار استقرار ISP السكني.
أخطاء شائعة في بروكسيات Node.js
- الاعتماد على خيار
proxyالمدمج في Axios لأهداف HTTPS. فهو غير موثوق مع أهداف HTTPS، لذا استخدمhttps-proxy-agentبوصفهhttpsAgentواضبطproxy: false. - توقع أن يقبل
fetchالأصلي خيارproxy. لا يقبله، بل مررProxyAgentمن undici عبرdispatcher. - استخدام وكيل غير مناسب للمخطط. استخدم
https-proxy-agentلبروكسيات HTTP/HTTPS وsocks-proxy-agentلـ SOCKS5. - غياب المهلة الزمنية. قد يعلق البروكسي المتوقف طلباً، لذا اضبط مهلة في Axios أو استخدم
AbortControllerمع fetch. - عناوين IP لمركز البيانات على الأهداف المحمية، إذ تُحظر بسرعة، لذا استخدم بروكسيات سكنية وترويسات واقعية (User-Agent).
البروكسيات الدوّارة مقابل الثابتة مع Node.js
للتجريف الواسع، تُعد البوابة السكنية الدوّارة مثالية، إذ يحصل كل طلب عبر الوكيل على عنوان IP جديد. أما للتدفقات ذات الحالة، مثل تسجيل الدخول ثم طلبات المتابعة، فاحتفظ ببروكسي ثابت وأعد استخدام نسخة Axios أو مخزن ملفات تعريف الارتباط لكي يبقى عنوان IP وملفات تعريف الارتباط نفسيهما. معظم تجريف Node بلا حالة، لذا يمثل التدوير الإعداد الافتراضي الشائع.
أي نوع بروكسي لـ Node.js: سكني أم مركز بيانات أم محمول؟
- سكني ($1/GB)، وهو الإعداد الافتراضي للأهداف المحمية (التجارة الإلكترونية وSERPs والشبكات الاجتماعية). إذا اخترت نوعاً واحداً، فاختر هذا.
- محمول ($2/GB)، أي عناوين IP حقيقية لشبكات الاتصالات للأهداف الأصعب وواجهات الويب للمحمول.
- مركز بيانات ($0.50/GB)، وهو الأرخص والأسرع للأعمال غير المحمية وواجهات API وبنيتك التحتية، لكن لا توجهه إلى المواقع الثقيلة بمكافحة الروبوتات.
يوفر DataImpulse الأنواع الثلاثة في حساب واحد بالدفع حسب الاستخدام، لذا يستطيع برنامج تجريف Node واحد توجيه كل طلب إلى الفئة المناسبة عبر اسم المستخدم ونقطة النهاية.
كيفية البدء مع DataImpulse وNode.js
الخطوة 1. أنشئ حساب DataImpulse واحصل على بيانات اعتماد البروكسي السكني. لا تنتهي صلاحية العرض التمهيدي $5 / 5GB أبداً، وهو ميزانية اختبار حقيقية.
الخطوة 2. أنشئ https-proxy-agent من http://YOUR_LOGIN__cr.us:[email protected]:823، ومرره بوصفه httpsAgent مع Axios أو dispatcher/agent مع fetch/node-fetch، وأضف رمز الدولة للاستهداف الجغرافي. استخدم socks-proxy-agent مع المنفذ 824 لـ SOCKS5.
الخطوة 3. أضف مهلًا زمنية، وأرسل ترويسات واقعية، ودع البوابة الدوّارة تمنح عنوان IP جديداً لكل طلب. راجع دروس DataImpulse وصفحة البروكسيات السكنية.
الأسئلة الشائعة
كيف أستخدم بروكسي مع Axios؟
استخدم وكيلاً للبروكسي، لا خيار Axios المدمج، فهو غير موثوق مع HTTPS. ثبّت https-proxy-agent، وأنشئ وكيلاً من URL البروكسي، ومرره بوصفه httpsAgent مع proxy: false: axios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@host:port'), proxy: false }). استخدم gw.dataimpulse.com:823 مع DataImpulse.
كيف أستخدم بروكسي مع fetch الأصلي في Node.js؟
لا يتضمن fetch الأصلي (Node 18+) خيار بروكسي، لذا وجّهه عبر ProxyAgent من undici: const dispatcher = new ProxyAgent('http://user:pass@host:port'); fetch(url, { dispatcher }). استخدم setGlobalDispatcher(dispatcher) لتطبيقه على جميع استدعاءات fetch.
ما أفضل بروكسي لـ Node.js؟
تُعد البروكسيات السكنية الأفضل للأهداف المحمية، ويُعد DataImpulse بسعر $1/GB خيار القيمة (HTTP/HTTPS/SOCKS5، وأكثر من 90M عنوان IP، وحركة مرور لا تنتهي صلاحيتها). يمثل Bright Data وOxylabs خياري الشركات، بينما Webshare هو الأرخص للبدء. تعمل جميعها مع https-proxy-agent (Axios/node-fetch) أو undici ProxyAgent (fetch الأصلي).
هل يدعم Node.js بروكسيات SOCKS5؟
نعم، استخدم حزمة socks-proxy-agent. أنشئ new SocksProxyAgent('socks5://user:pass@host:port') ومرره بوصفه الوكيل (httpsAgent في Axios وagent في node-fetch). يوفر DataImpulse SOCKS5 على المنفذ 824. تحتاج fetch الأصلية إلى موزع SOCKS متوافق مع undici.
لماذا لا يعمل بروكسي Axios الخاص بي على مواقع HTTPS؟
يواجه إعداد proxy المدمج في Axios مشكلات قديمة في تمرير HTTPS عبر نفق. والحل هو تجاوزه: اضبط proxy: false ومرر https-proxy-agent بوصفه httpsAgent. يتولى الوكيل معالجة نفق CONNECT على نحو صحيح. ضع بيانات الاعتماد في URL البروكسي.
كم تبلغ تكلفة بروكسيات Node.js؟
يُسعّر البروكسي السكني الخام لكل GB، إذ يبلغ سعر DataImpulse $1/GB (حد القيمة الأدنى)، وNetNut بدءاً من $3.53، وSOAX $3.60، وDecodo $3.75، وOxylabs بدءاً من $6، وIPRoyal $7.35، بينما يقدم Webshare اشتراكات اقتصادية بدءاً من $3.50/mo. تمثل الصفحة التي يُجلب محتواها جزءاً صغيراً من GB، لذا فإن البروكسي السكني لكل GB أرخص كثيراً من واجهات API المُدارة لكل سجل عند التجريف بكميات كبيرة، فيما تناسب الخيارات المُدارة الأهداف الأصعب.
