تعد أداة سطر أوامر curl مساعدًا مثاليًا عند العمل باستخدام رمز HTTP. اختبر الطلبات واستكشف تنسيقات البيانات والمزيد!

بروتوكول نقل النص التشعبي (HTTP) هو العمود الفقري للاتصال عبر الإنترنت ، مما يسمح بنقل البيانات بين الخوادم والعملاء. ومع ذلك ، قد يكون التفاعل مع نقاط نهاية HTTP أمرًا صعبًا ، خاصة بالنسبة للمبتدئين.

لحسن الحظ ، توفر أداة curl ، وهي أداة سطر أوامر ، طريقة سهلة وفعالة لإرسال طلبات HTTP واستقبالها. ستتعلم هنا كيفية استخدام curl لإنشاء طلبات POST و GET و DELETE و PUT HTTP الأساسية.

تركيب الضفيرة

بشكل افتراضي ، يتم تثبيت curl على أنظمة التشغيل الرئيسية بما في ذلك macOS و Linux و Unix.

يمكنك التأكد من تثبيت curl عن طريق تشغيل الأمر أدناه:

لفة

يجب أن يطبع الأمر أعلاه "try" curl --help أو "curl --manual" لمزيد من المعلومات "على الجهاز الطرفي.

إذا لم يكن curl مثبتًا على نظام التشغيل الخاص بك ، فيمكنك تنزيله وتثبيته من صفحة التنزيلات curl.

إجراء طلب HTTP GET

طلب HTTP GET هو طريقة لطلب البيانات من خادم الويب. يمكنك استخدام هذه الطلبات لاسترداد مورد معين ، مثل صفحة ويب أو صورة أو مقطع فيديو.

instagram viewer

يمكنك تقديم طلب GET باستخدام curl بالتنسيق أدناه:

curl -X احصل على 

يستبدل بعنوان URL للمورد الذي تريد جلبه.

على سبيل المثال:

curl -X احصل على https://example.com/todos/1

يؤدي تشغيل الأمر أعلاه إلى إنشاء طلب HTTP GET إلى عنوان URL https://example.com/todos/1. ال -X احصل يحدد الخيار أن طريقة HTTP هي GET. عند تشغيل الأمر ، يرسل curl طلب GET إلى الخادم المحدد في عنوان URL وينتظر استجابة الخادم.

إذا استجاب الخادم بـ رمز حالة ناجح, لفة يعرض نص الاستجابة في الجهاز ، والذي ، في هذه الحالة ، سيكون بيانات JSON حول عنصر مهمة بمعرف 1.

بدلاً من ذلك ، يمكنك تقديم طلب GET دون تحديد -X وضع علامة لأنه ، افتراضيًا ، يقوم curl بتقديم طلب GET عندما لا تحدد طريقة طلب بامتداد -X علَم.

على سبيل المثال:

لفة https://example.com/todos/1

سيؤدي تشغيل الأمر أعلاه إلى إرجاع نفس الاستجابة للأمر السابق مع "-X احصل" علَم.

عمل طلب HTTP POST

طلب HTTP POST هو طريقة لحفظ البيانات إلى خادم ويب. بخلاف طلب GET ، الذي يرسل البيانات كجزء من عنوان URL ، يرسل طلب POST البيانات في نص رسالة الطلب. هذا يجعل طلبات POST أكثر أمانًا لنقل المعلومات الحساسة.

يمكنك تقديم طلب POST باستخدام curl بالتنسيق أدناه:

حليقة -X ما بعد- د 

على سبيل المثال:

curl -X POST -d 'name = jack' -d '[email protected]' \
 https://example.com/users

يرسل الأمر أعلاه طلب POST إلى https://example.com/users بالبيانات المحددة بواسطة علامة حمولة.

ال تحدد العلامة البيانات المراد إرسالها. في هذه الحالة ، حددت معلمتين للبيانات: الاسم = جاك و [email protected].

عند استخدام ملف ضع علامة أكثر من مرة في الأمر ، يمكنك دمج الحقول باستخدام الرمز &.

على سبيل المثال:

curl -d "name=jack&[email protected]" https://example.com/api/users

قد يكون من الصعب دمج بعض البيانات التي قد تحاول إرسالها في طلب POST في سلسلة واحدة في جهازك الطرفي. في مثل هذه الحالات ، قد يكون من المثالي قراءة ونشر البيانات من ملف باستخدام curl.

لإرسال بيانات من ملف في طلب POST كحمولة مع curl ، استخدم ملحق @ التوقيع مباشرة بعد علامة ، متبوعة بمسار الملف الذي تريد أن يرسله curl في الطلب.

على سبيل المثال:

curl -X POST -d @ users.txt https://example.com/api/users

تحديد نوع المحتوى

باستخدام تقوم العلامة تلقائيًا بتعيين رأس نوع المحتوى إلى التطبيق / x-www-form-urlencoded. ومع ذلك ، يمكنك تحديد نوع المحتوى المناسب لطلبك يدويًا باستخدام ملف أو - رأس علامة متبوعة بنوع المحتوى المطلوب.

على سبيل المثال:

curl -H "نوع المحتوى: application / json" \
 -d '{"name": "Jack"، "email": "[email protected]"}' \
 https://example.com/api/users

في الأمر أعلاه ، فإن ملف تحدد العلامة رأس نوع المحتوى كـ نوع المحتوى: application / json.

يمكنك استبدال التطبيق / json مع أي نوع MIME أو نوع محتوى صالح آخر مناسب للبيانات التي ترسلها في نص الطلب. على سبيل المثال ، عند تحميل بيانات ثنائية ، مثل صورة أو ملف صوتي ، يجب عليك تعيين نوع المحتوى إلى متعدد الأجزاء / نموذج البيانات.

يتيح لك هذا تحديد التنسيق المتوقع للبيانات المرسلة ، والذي يمكن أن يكون مهمًا عند التفاعل مع واجهات برمجة التطبيقات أو خدمات الويب التي تتطلب أنواعًا معينة من المحتوى للمعالجة المناسبة.

إجراء طلب HTTP PUT

طلب HTTP PUT هو طريقة لتحديث مورد موجود على خادم ويب أو إنشاء واحد إذا كان المورد غير موجود. تختلف هذه الطريقة عن طريقة POST بمعنى أنها غير فعالة. هذا يعني أن استدعاء طريقة PUT مرة واحدة أو عدة مرات متتالية له نفس التأثير على الخادم.

يمكنك تقديم طلب PUT باستخدام curl بالتنسيق أدناه:

curl -X PUT -H "نوع المحتوى: application / json" \
 -d '{"name": "Jack Bauer" ، "email": "[email protected]"}' \
 https://example.com/api/users/4

يرسل الأمر أعلاه طلب PUT بتنسيق JSON إلى خادم الويب المحدد في عنوان URL أعلاه ويقوم بتحديث المورد المحدد. إذا كان المورد المحدد غير موجود ، فسيقوم بإنشاء المورد على خادم الويب.

عمل طلب حذف HTTP

طلب HTTP DELETE هو طريقة لحذف مورد محدد من خادم ويب. على غرار طلبات PUT ، تكون طلبات الحذف ثابتة. سيؤدي إرسال نفس طلب الحذف عدة مرات إلى نفس المورد إلى الحصول على نفس النتيجة على الخادم.

يمكنك إجراء طلب DELETE باستخدام curl عن طريق تشغيل الأمر أدناه:

curl -X حذف http://example.com/api/users/3

يرسل الأمر أعلاه طلب DELETE إلى خادم الويب المحدد في عنوان URL أعلاه ويحذف المورد المحدد.

حذف الطلبات بشكل دائم إزالة المورد المحدد من الخادم. وبالتالي ، فإن خادم الويب الذي يدعم الحذف عادة ما يتطلب شكلاً من أشكال المصادقة أو الإذن قبل أن تتمكن من تقديم هذا الطلب.

فيما يلي كيفية إجراء طلب DELETE برأس التفويض:

curl -X DELETE -H "التفويض: Bearer my_access_token" \
 https://example.com/api/users/3

يوفر الأمر أعلاه معلومات المصادقة في رأس الطلب باستخدام طريقة مصادقة Bearer مع ملف علَم. التفويض: حامل my_access_token هي قيمة الرأس. my_access_token هو عنصر نائب لقيمة رمز الوصول الفعلي.

طرق أخرى يمكنك من خلالها تقديم طلبات HTTP

بصرف النظر عن curl ، هناك طرق متعددة لعمل طلبات HTTP اعتمادًا على سياق الطلب. تتضمن الطرق الأكثر شيوعًا استخدام متصفح ويب مثل Chrome أو أداة واجهة المستخدم الرسومية مثل Postman أو عميل واجهة برمجة التطبيقات.

يأتي كل خيار من هذه الخيارات مع مزاياها ومقايضاتها. في النهاية ، سيعتمد اختيارك للأداة على متطلبات مهمتك.