كيفية إرسال رؤوس HTTP مع cURL: دليل شامل مع أمثلة
أتقن إرسال واستقبال رؤوس HTTP باستخدام cURL من خلال هذا الدليل الشامل. استكشف الأمثلة والرؤوس المخصصة ونصائح استكشاف الأخطاء.
في هذا المقال 11 أقسام
- المتطلبات الأساسية
- بناء جملة الضفيرة الأساسية
- المثال 1: إرسال طلب GET برؤوس مخصصة
- مثال 2: إرسال طلب POST مع بيانات JSON
- مثال 3: تعيين رؤوس متعددة
- مثال 4: إرسال ملفات تعريف الارتباط
- المثال 5: متابعة عمليات إعادة التوجيه
- المثال 6: إرسال User-Agent مخصص
- المثال 7: إرسال رؤوس الطلب بدون بيانات
- المثال 8: إرسال المصادقة الأساسية
- المثال 9: تصحيح الأخطاء والوضع المفصل
يعد إرسال رؤوس HTTP باستخدام cURL مهارة أساسية لأي شخص يعمل مع واجهات برمجة التطبيقات أو خدمات الويب. تنقل رؤوس HTTP المعلومات الأساسية حول طلبك، مثل نوع المحتوى والترخيص والمزيد. تتيح لك cURL، وهي أداة سطر أوامر قوية لتقديم طلبات HTTP، تخصيص هذه الرؤوس وإرسالها بسهولة. في هذا الدليل، سنرشدك خلال عملية إرسال رؤوس HTTP باستخدام cURL، مع مجموعة متنوعة من الأمثلة العملية.

المتطلبات الأساسية#
قبل أن نتعمق في الأمثلة، تأكد من تثبيت cURL على نظامك. يمكنك التحقق من تثبيته عن طريق تشغيل:
curl --version
إذا لم يكن مثبتًا، يمكنك تنزيله من موقع cURL الرسمي.
بناء جملة الضفيرة الأساسية#
بناء الجملة الأساسي لإرسال طلب HTTP باستخدام cURL هو:
curl [options] [URL]
لتضمين رؤوس HTTP في طلبك، يمكنك استخدام خيار -H أو –header متبوعًا بمعلومات الرأس.
المثال 1: إرسال طلب GET برؤوس مخصصة#
لنبدأ بطلب GET بسيط لواجهة برمجة تطبيقات افتراضية، بما في ذلك رأس مخصص. لنفترض أنك تريد تضمين رأس “التفويض” مع مفتاح واجهة برمجة التطبيقات (API) الخاص بك.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
استبدل YOUR_API_KEY بمفتاح API الفعلي الخاص بك.
مثال 2: إرسال طلب POST مع بيانات JSON#
في هذا المثال، سنرسل طلب POST مع حمولة JSON ورأس نوع محتوى مخصص.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
يحدد هذا الأمر طريقة الطلب كـ POST (-X POST)، ويضبط نوع المحتوى على JSON (-H “نوع المحتوى: application/json”)، ويتضمن بيانات JSON مع -d.
مثال 3: تعيين رؤوس متعددة#
يمكنك تضمين رؤوس متعددة في طلب cURL واحد. هنا، نرسل طلبًا يحتوي على رؤوس “Authorization” و “User-Agent” معًا.
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
مثال 4: إرسال ملفات تعريف الارتباط#
لإرسال ملفات تعريف الارتباط مع طلبك، استخدم خيار -b أو –cookie متبوعًا ببيانات ملف تعريف الارتباط.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
يرسل هذا المثال ملفي تعريف ارتباط: “session” و“preferences.”
المثال 5: متابعة عمليات إعادة التوجيه#
بشكل افتراضي، لا يتابع cURL عمليات إعادة التوجيه من نوع HTTP. لتفعيل متابعة عمليات إعادة التوجيه، استخدم خيار -L أو –location.
curl -L https://example.com
ستقوم هذه الأوامر بمتابعة أي عمليات إعادة توجيه وعرض محتوى الصفحة النهائية.
المثال 6: إرسال User-Agent مخصص#
يمكنك تعيين رأس User-Agent مخصص لتحديد هويّة طلبك.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
رؤوس User-Agent المخصصة مفيدة عند التفاعل مع الواجهات البرمجية التي تتطلب وكلاء مستخدمين محددين.
المثال 7: إرسال رؤوس الطلب بدون بيانات#
إذا كنت بحاجة إلى إرسال رأس بدون جسم طلب، يمكنك استخدام خيار -I أو –head.
curl -I https://api.example.com/resource
يرسل هذا الأمر طلب HEAD، الذي يجلب الرؤوس فقط وليس المحتوى الفعلي.
المثال 8: إرسال المصادقة الأساسية#
لإرسال بيانات اعتماد HTTP Basic Authentication، يمكنك تضمين رأس “Authorization” مع اسم المستخدم وكلمة المرور المشفرة بصيغة Base64.
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
استبدل BASE64_ENCODED_CREDENTIALS باسم المستخدم وكلمة المرور المشفرة بصيغة Base64 (على سبيل المثال، username:password).
المثال 9: تصحيح الأخطاء والوضع المفصل#
عند استكشاف الأخطاء أو فحص طلب HTTP والاستجابة، يمكنك استخدام الوضع المفصل في cURL مع خيار -v أو –verbose.
curl -v https://api.example.com/resource
سيعرض هذا معلومات مفصلة عن الطلب والاستجابة، بما في ذلك رؤوس HTTP.
إرسال رؤوس HTTP مع cURL مهارة أساسية للعمل مع خدمات الويب وواجهات برمجية. من خلال الأمثلة المقدمة في هذا الدليل، يمكنك تخصيص طلباتك والتعامل مع المصادقة وإرسال ملفات تعريف الارتباط والمزيد. مع اكتسابك الألفة بإمكانيات cURL، ستكون مجهزاً بشكل جيد للتفاعل مع خدمات الويب المختلفة بفعالية.
