\[
\text{كونك مهندس تقنية معلومات يأتي مع مهام متنوعة للقيام بها، مثل فحص اتصال الشبكة، وتحميل الملفات، أو ضبط التصريحات. عادةً، تتطلب هذه المهام أدوات مختلفة. حسنًا، ليس مع cURL. فإن أداة cURL في نظام Linux تساعد في معظم الأشياء التي يحتاجها مهندس تقنية المعلومات.
في هذا البرنامج التعليمي، ستتعلم عن كل ميزة يوفرها سطر الأوامر cURL.
استمر في القراءة وقم برفع مهاراتك مع cURL!
المتطلبات المسبقة
يشمل هذا البرنامج التعليمي عروضًا توضيحية خطوة بخطوة. لمتابعة، تأكد من أن لديك ما يلي:
- جهاز بنظام أوبونتو – يستخدم هذا البرنامج التعليمي أوبونتو 18.04 مع تثبيت Apache.
- A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
- A remote Linux host – This tutorial uses an Ubuntu 18.04.5 LTS machine.
- A user account on the remote Linux SSH host with sudo permissions.
تثبيت cURL على نظام Linux (أوبونتو)
مثل أي أداة أخرى، قبل الاستفادة من cURL، يجب أن تقوم أولاً بتثبيتها على جهازك. يمكنك تثبيت cURL على أي نظام تشغيل يعتمد على *نيكس*، ولكنها تستخدم بشكل شائع على نظام أوبونتو.
cURL هو أداة سطر أوامر تتيح لك أداء العديد من المهام كما يلي:
\]
- عرض حالة مختلف تكوينات الشبكة لأجهزة Windows أو خوادم Linux
- نقل البيانات إلى الخوادم أو منها
- يدعم العديد من البروتوكولات، مثل HTTP، FTP، IMAP، POP3، SCP، و SFTP.
لتثبيت cURL على جهاز Ubuntu الخاص بك:
1. قم بالاتصال بجهاز Ubuntu الخاص بك باستخدام عميل SSH المفضل لديك.
2. قم بتشغيل الأوامر التالية، والتي لا توفر إخراجًا ولكن تقوم بإنشاء دليل يُسمى ~/install_curl_demo والتبديل إلى هذا الدليل. سيحتوي هذا الدليل على جميع الموارد التي ستقوم بإنشائها في هذا البرنامج التعليمي.
3. بعد ذلك، قم بتشغيل الأمر apt update أدناه لتحديث فهرس حزم النظام الخاص بك.
يضمن هذا الأمر أن مدير الحزم apt يمكنه العثور على المصدر الصحيح عند تنزيل أي حزم تعتمد على ذلك.

4. الآن، قم بتشغيل الأمر apt install أدناه لتثبيت cURL على جهازك.

5. أخيرًا، قم بتشغيل الأمر أدناه للتحقق من إصدار cURL المثبت على جهازك. يتأكد هذا من أنك قمت بتثبيت cURL بنجاح.

المصادقة على المواقع الإلكترونية
فيما يلي بعض بروتوكولات الـ curl المدعومة، مثل FILE، FTP، HTTP، HTTPS، POP3، SCP، SFTP، TELNET، إلخ، ولا يتعين عليك التفاعل مع أي مستخدم.
إذا كنت بحاجة إلى المصادقة على أي موقع ويب باستخدام أمر curl، ستحتاج إلى تحديد اسم المستخدم وكلمة المرور في عنوان URL نفسه. ولكن إذا قمت بتحديد اسم المستخدم، سيطلب cURL كلمة المرور.
قم بتشغيل الأمر curl أدناه، مستبدلاً [email protected]:password باسم المستخدم وكلمة المرور الخاصة بك وعنوان موقع الويب بالخاص بك للمصادقة.

تنزيل الملفات بالاسم الأصلي أو بتغيير الاسم
قد يكون تنزيل الملفات أو الحزم جزءًا من روتينك اليومي كمسؤول. إذا كان الأمر كذلك، فإن cURL سيساعدك بالتأكيد. الأمر curl
، مع إضافة إما خيار -O
أو -o
، يتيح لك تنزيل الملفات مع الاحتفاظ بالاسم الأصلي أو تعيين اسم مختلف.
قم بتشغيل الأوامر التالية لتنزيل حزمة NGINX بالاسم الأصلي (-O
) كـ (*nginx-1.20.2.tar.gz*
) وباسم مختلف (-o
) كـ *mytar.gz*
.

الآن، قم بتشغيل الأمر التالي لتنزيل حزمة NGINX بالاسم mytar2.gz. ولكن هذه المرة، سترى شريط تقدم فقط بدلاً من رؤية الكثير من التفاصيل في الإخراج.

أخيرًا، قم بتشغيل الأمر ls
أدناه لعرض جميع الملفات في الدليل الحالي.
فيما يلي، يمكنك التحقق من وجود ملفات nginx-1.20.2.tar.gz, mytar.gz, و mytar2.gz.

ضبط مهلة الاتصال
المواقع الإلكترونية سريعة التحميل هي دائمًا مثالية، ولدى cURL طريقة لاختبار مدى سرعة قدرة المستخدم على الاتصال بموقع الويب الخاص بك. كيف؟ عن طريق ضبط مهلة الاتصال، حيث يحاول أمر curl
الاتصال بموقع ويب داخل إطار زمني محدد.
ضبط مهلة الاتصال يتيح لك تحديد مدى طول الوقت الذي يستغرقه الخادم للرد على طلب بيانات تقوم به.
قم بتشغيل الأمر أدناه لمحاولة الاتصال بموقع adamtheautomator.com لمدة 20
ثانية قبل انتهاء المهلة.
يمكنك رؤية أن الخيار -I
يتيح لك تضمين الرؤوس في إخراج معلومات الموقع.

استرجاع البيانات باستخدام طلب GET
لقد رأيت كيف أن ضبط مهلة الاتصال يوفر معلومات حول موقع ويب في قسم “ضبط مهلة الاتصال”. ولكن إذا لم تكن تلك المعلومات كافية، فكر في إرسال طلب GET.
قم بتشغيل أمر curl أدناه لاستخدام طلب HTTP GET (–get) واسترداد البيانات من موقع https://adamtheautomator.com.
بالأسفل، يمكنك رؤية المصدر الفعلي لموقع الويب adamtheautomator.com.

إرسال طلب POST
بدلاً من الحصول على بيانات، يمكنك أيضًا إرسال بيانات عن طريق إرسال طلب POST باستخدام أمر curl
. يتيح لك المعلمة -d
إرسال البيانات المحددة في طلب POST إلى خادم HTTP مثلما يفعل المتصفح عندما يقوم المستخدم بملء نموذج HTML.
قم بتشغيل الأمر curl
التالي لإرسال طلب POST إلى موقع ptsv2.com
.

الآن، انتقل إلى https://reqbin.com/ على متصفح الويب الخاص بك لاختبار ما إذا كان الطلب POST ناجحًا.
بالأسفل، ستلاحظ أن الحالة تظهر (200 (OK، مما يعني أن الطلب تم إرساله بنجاح.

البحث في تعريفات الكلمات
هل تعلم أنه يمكنك أيضًا استخدام cURL كمعجم؟ نعم! يتيح لك cURL البحث في تعريفات الكلمات باستخدام بروتوكول DICT. يمكن البحث باستخدام بروتوكول DICT عن العديد من المصطلحات المتعلقة بتكنولوجيا المعلومات، مثل الساعة، أوبونتو، RDP، إلخ.
صيغة الأمر curl
باستخدام بروتوكول DICT هي كما يلي:
قم بتشغيل كل أمر أدناه للبحث عن تعريفات الكلمات من القاموس المتاح على موقع الويب العام dict.org
.
كما يمكنك رؤية أدناه، فإن البحث الأول عن تعريف الكلمة أوبونتو لم يجد إجابة ذات صلة وأعاد لا توجد مطابقة. ولكن البحث الثاني أعاد تعريفات عدة لكلمة ساعة.

اختبار بروتوكول موقع الويب HTTP2
أمر curl بالتأكيد مناسب لتنزيل وتحميل ومصادقة مواقع الويب. ولكن شيئاً آخر يجعل curl أداة رائعة هو أنه يمكنك التحقق مما إذا كان عنوان URL معين يدعم البروتوكول HTTP/2 الجديد.
قم بتشغيل الأمر curl التالي للتحقق مما إذا كان موقع الويب https://adamtheautomator.com/ يدعم بروتوكول HTTPS (–http2).
سترى استجابة HTTP/2 200 في الناتج مثلما هو موضح أدناه، مما يعني أن الموقع يستخدم بروتوكول HTTP2.

الختام
برنامج cURL، على الرغم من أنه أداة مجانية، يأتي مع العديد من الميزات. وفي هذا البرنامج التعليمي، لقد قمت بتجربة أمثلة مباشرة مختلفة لاستخدام cURL في نظام Linux. سواء كان ذلك تنزيل الملفات، أو مصادقة مواقع الويب، أو إرسال طلبات POST أو GET، إلخ، فإن cURL لن يخيب ظنك.
لماذا لا تبني على هذه المعرفة الجديدة؟ ربما تعلم كيفية نقل الملفات، وتشغيل الأوامر والنصوص باستخدام أمر curl؟ أو اكتشاف أوامر واجهة برمجة التطبيقات cURL؟