اكتشف ما هو بالضبط وكيل «node-fetch» وكيف يمكن أن يفيد عملك.
هل ترغب في نقل البيانات من خادم إلى آخر؟ هل تبحث عن طريقة للقيام بذلك دون عناء التعامل مع الإعدادات المعقدة؟
لا داعي للبحث أكثر — بروكسي Node-Fetch هنا لمساعدتك!
ستتناول هذه المقالة كيفية استخدام Node-Fetch مع خادم وكيل، وكيفية جعل مهام نقل البيانات أمراً في غاية السهولة.
إذن، فلنبدأ!
ما هو Node-Fetch؟
Node-Fetch هي مكتبة تُستخدم لإجراء طلبات HTTP من Node.js، على غرار واجهة برمجة التطبيقات (API) Fetch الخاصة بالمتصفح. تتيح هذه المكتبة للمطورين إرسال طلبات إلى خدمات الويب الأخرى، ويمكن استخدامها في كل من التطبيقات التي تعمل على جانب العميل وجانب الخادم. كما أنها تدعم العديد من طرق HTTP، وتتوافق مع المكتبات وأطر العمل الشائعة في Node.js.
ما هو وكيل Node-Fetch؟
وكيل «node-fetch» هو وكيل HTTP مكتوب بلغة Node.js، مما يسهل على المطورين إرسال طلبات HTTP إلى الخوادم البعيدة. وهو يعمل بشكل مشابه لواجهة برمجة التطبيقات (API) الخاصة بـ«fetch»، لكنه يتميز بميزات إضافية مثل المصادقة، وتسجيل الطلبات والاستجابات، والتخزين المؤقت. كما يتيح للمطورين إرسال طلبات HTTP وHTTPS إلى أي خادم، بغض النظر عن البروتوكول الذي يستخدمه.
حالات استخدام وكيل Node-Fetch
يُستخدم Node-Fetch في المقام الأول لإرسال طلبات غير متزامنة إلى المتصفح لتحميل المحتوى. ومع ذلك، هناك العديد من حالات الاستخدام الإضافية على جانب الخادم. ومن بين هذه الحالات «استخراج البيانات من الويب».
يمكن لـ Node-Fetch إرسال طلب إلى خادم ويب ثم تلقي الرد. ويمكن لبرنامج Node-Fetch بعد ذلك استخدام هذا الرد لتحليل لغة HTML واستخراج البيانات وتخزينها في قاعدة بيانات. وهذا يتيح إنشاء أداة استخراج البيانات من الويب لاستخراج البيانات من موقع ويب وتخزينها في قاعدة بيانات.
يمكن لـ Node-Fetch أيضًا إرسال طلبات HTTP إلى واجهات برمجة التطبيقات (API) الخارجية واستلام البيانات بتنسيق JSON. ويمكن بعد ذلك معالجة هذه البيانات وتخزينها في قاعدة بيانات. وهذا يتيح إنشاء تطبيق ويب قادر على استخدام واجهات برمجة التطبيقات الخارجية للحصول على البيانات وتخزينها في قاعدة بيانات.
وأخيرًا، يمكن أيضًا استخدام Node-Fetch لإرسال طلبات HTTP إلى خوادم الويب واستلام الرد بتنسيق محدد. ويمكن الاستفادة من هذه الميزة لإنشاء تطبيق ويب قادر على التفاعل مع خادم الويب واستلام البيانات بتنسيق محدد. وهذا يتيح إنشاء تطبيق ويب لمعالجة البيانات الواردة من خادم الويب وتخزينها في قاعدة بيانات.
إعداد وكيل Node-Fetch
تثبيت node-fetch
هذا الجزء بسيط جدًّا. ما عليك سوى تثبيت node-fetch وhttps-proxy-agent:
npm install node-fetch
npm install https-proxy-agent
لا تحتاج إلى تثبيت node-fetch إذا كنت تستخدم NodeJS الإصدار 18 أو أحدث.
تكوين الوكيل
في الكود الخاص بك، استخدم HttpsProxyAgent كمعلمة الوكيل في طلب الاسترداد الخاص بك. على النحو التالي:
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');
(async () => {
const proxyAgent = new HttpsProxyAgent('http://ipbcloud.com:7070');
const scrape = await fetch('https://httpbin.org/ip?json', { agent: proxyAgent } );
const html = await scrape.text();
console.log(html);
})();
عند إرسال الطلبات، أضف الوكيل إلى كائن الخيارات:
fetch('https://example.com', {
proxy: proxyUrl
})
.then(response => response.text())
.then(text => console.log(text))
.catch(err => console.log(err));
لاستخدام اسم المستخدم وكلمة المرور مع الخادم الوكيل، أضف الخاصية «auth» إلى كائن الخيارات:
fetch('https://example.com', {
proxy: proxyUrl,
auth: {
username: 'username',
password: 'password'
}
})
.then(response => response.text())
.then(text => console.log(text))
.catch(err => console.log(err));
لاختبار الخادم الوكيل، قم بتشغيل الكود في المحطة الطرفية باستخدام الأمر التالي: node proxy.js
مزايا استخدام وكيل Node-Fetch
المزايا الأمنية: يمكن لوكيل «جلب العقدة» (node-fetch proxy) أن يضيف مزيدًا من الأمان إلى تطبيق الويب الخاص بك. فهو يساعد في الحماية من الهجمات الخبيثة مثل البرمجة النصية عبر المواقع (XSS)، وحقن SQL، واختطاف الجلسة. كما يساعد في الحماية من تسرب البيانات من خلال ضمان أن تطبيق الويب الخاص بك لا يمكن الوصول إليه إلا من المصدر المقصود.
تحسين الأداء: يمكن أن يساعد استخدام وكيل Node-Fetch في تسريع تطبيق الويب الخاص بك عن طريق تقليل كمية البيانات التي يجب نقلها بين الخادم والعميل. ويمكن أن يسهم ذلك في تحسين تجربة المستخدم من خلال تسريع تحميل الصفحات وتقليل حالات انتهاء المهلة.
سهولة الاستخدام: تتميز بروكسيات Node-Fetch بسهولة الإعداد والاستخدام. فهي لا تتطلب سوى الحد الأدنى من البرمجة أو التهيئة، ويمكن استخدامها مع أي تطبيق ويب. كما أنها تتمتع بقدرة عالية على التوسع ويمكن استخدامها مع عدة تطبيقات ويب في آن واحد.
باختصار
Node-Fetch هي مكتبة خفيفة الوزن وقوية لـ Node.js تتيح للمطورين إرسال طلبات HTTP من جانب الخادم. وهي سريعة وفعالة، مما يجعلها الخيار المثالي للمطورين الذين يحتاجون إلى إرسال طلبات متكررة إلى مواقع خارجية. يمكن استخدام Node-Fetch مع وكيل (بروكسي) لتعزيز أمان طلبات الويب.

للحصول على أفضل أداء وأمان عند استخدام Node-Fetch مع بروكسي، تُعد بروكسيات IPBurger السكنية الحل الأمثل. تتيح لك بروكسياتها السكنية الاتصال بالمواقع الخارجية بأمان وموثوقية، كما تضيف عناوين IP المتغيرة الخاصة بها طبقة إضافية من الأمان. مع IPBurger، يمكنك أن تطمئن إلى أن بياناتك في أمان تام.
الأسئلة الشائعة
ما هو بالضبط وكيل استرداد العقد (node-fetch proxy)، وكيف يعمل؟
Node-fetch proxy هي مكتبة خفيفة الوزن ومفتوحة المصدر ومتوافقة مع مختلف الأنظمة الأساسية، تتيح للمطورين إجراء طلبات HTTP وHTTPS بسهولة عبر خادم وكيل. ويمكن استخدامها لإنشاء نفق آمن لتطبيقات الويب، مما يتيح للعميل والخادم التواصل مع بعضهما البعض بأمان. وتعمل هذه المكتبة عن طريق استلام الطلبات من العميل وتمريرها إلى خادم وكيل. ثم يقوم خادم الوكيل بإرسال الطلب إلى الخادم نيابة عن العميل وإعادة إرسال الاستجابة إلى العميل. وهذا يتيح للمستخدمين الوصول إلى المحتوى فقط من خلال عناوين IP محددة، ويمنحهم مزيدًا من الأمان والخصوصية عند تصفح الويب.
ما هي مزايا استخدام وكيل «node-fetch»؟
يتمتع بروكسي «Node-fetch» بعدة مزايا، مثل الأداء الأفضل، والأمان الأكبر، والخصوصية الأكبر. باستخدام خادم بروكسي، يمكن للمستخدمين الوصول إلى المحتوى الذي عادةً ما يتم حظره بسبب موقعهم الجغرافي، وإخفاء عنوان IP الخاص بهم عن الأشخاص الذين قد يحاولون اختراق حساباتهم. كما يساعد ذلك في تقليل زمن الاستجابة من خلال إرسال الطلبات إلى خادم بروكسي. وهذا يجعل تحميل الصفحات أسرع ويحسن الأداء. كما يمكن لخادم الوكيل node-fetch تجاوز جدران الحماية والقيود الأخرى، مما يتيح للمستخدمين الوصول إلى المعلومات التي يحتاجونها دون القلق من التعرض للحجب.
ما المقصود بـ «Fetch» في Node.js؟
Fetch هي واجهة برمجة تطبيقات (API) في Node.js توفر واجهة لجلب الموارد. وهي تشبه XMLHttpRequest، لكن يمكن استخدامها بشكل أكثر فعالية لإرسال المعلومات واستقبالها. توفر Fetch طريقة سهلة لإجراء طلبات الشبكة ومعالجة الاستجابة ببساطة واتساق.
هل Node-Fetch هو نفسه Fetch؟
لا، «node-fetch» ليست هي نفسها «fetch». «Node-Fetch» هي مكتبة تتيح لك استخدام واجهة برمجة التطبيقات (API) الخاصة بـ «Fetch» في Node.js، في حين أن «Fetch» هي واجهة برمجة تطبيقات خاصة بالمتصفح تتيح لك إرسال طلبات AJAX.
