Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

كيفية التبديل بين Curl وHttpie كمحترف

تعلم كيفية تحويل أوامر curl إلى أوامر httpie والعكس، باستخدام أداة بسيطة تسمى apidog. ستتعلم أيضًا بعض النصائح والحيل لجعل اختبار واجهة برمجة التطبيقات الخاصة بك أكثر إنتاجية.

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

إذا كنت مطورًا يعمل مع APIs، فمن المحتمل أنك قد استخدمت curl و httpie في مرحلة ما. هذان هما أداتان شائعتان في سطر الأوامر لإجراء طلبات HTTP والتفاعل مع خدمات الويب. لكن هل تعرف كيف تنتقل بينهما بسهولة وفعالية؟ في هذه المقالة، سأوضح لك كيفية تحويل أوامر curl إلى أوامر httpie والعكس، باستخدام أداة بسيطة تسمى apidog. ستتعلم أيضًا بعض النصائح والحيل لجعل اختبارات API الخاصة بك أكثر إنتاجية ومتعة.

button

ما هي Curl و Httpie؟

قبل أن نتعمق في عملية التحويل، دعنا نستعرض بإيجاز ما هي curl و httpie ولماذا تكون مفيدة.

Curl

Curl هي أداة كلاسيكية موجودة منذ عام 1997. وهي تعني "عميل URL" وتسمح لك بنقل البيانات من أو إلى خادم باستخدام بروتوكولات متنوعة، مثل HTTP، FTP، SMTP، إلخ. يتم دعم curl على نطاق واسع على منصات ولغات مختلفة، ولها العديد من الخيارات والميزات لتخصيص طلباتك. يمكنك استخدام curl لاختبار APIs، وتحميل الملفات، وتحميل البيانات، والمزيد.

إليك مثال على أمر curl الذي يقوم بإجراء طلب GET إلى واجهة برمجة التطبيقات GitHub وطباعة رؤوس الاستجابة:

curl -i https://api.github.com/users/octocat

Httpie

Httpie هي أداة أحدث تم إنشاؤها في عام 2012. تعني "HTTPie: أداة CLI تشبه cURL للبشر". تم تصميم Httpie لتكون بديلًا سهل الاستخدام لـ curl، بمواصفات أبسط وأكثر تعبيرًا، وإخراج ملون، وإعدادات ذكية. يدعم Httpie HTTP/1.1 و HTTP/2 و HTTPS، ويمكنه التعامل تلقائيًا مع JSON، والنماذج، ورفع الملفات.

إليك مثال على أمر httpie الذي يقوم بنفس طلب GET كما في أمر curl أعلاه، ولكن مع بنية وإخراج أكثر readability:

http -v https://api.github.com/users/octocat

لماذا الانتقال بين Curl و Httpie؟

قد تتساءل لماذا ستحتاج إلى الانتقال بين curl و httpie في المقام الأول. أليس كلاهما يقوم بنفس الشيء؟ حسنًا، نعم ولا. بينما يمكن أن تقوم curl و httpie بأداء مهام مماثلة، إلا أن لديها نقاط قوة وضعف مختلفة، وحالات استخدام مختلفة.

إليك بعض الأسباب التي قد تجعلك ترغب في الانتقال بين curl و httpie:

  • أنت تعمل على مشروع يستخدم كل من أوامر curl و httpie، وتحتاج إلى فهمها وتعديلها.
  • أنت تتبع برنامجًا تعليميًا أو وثائق تستخدم أوامر curl أو httpie، وترغب في تجربتها مع الأداة الأخرى.
  • أنت تختبر API لها سلوكيات أو ميزات مختلفة اعتمادًا على الأداة التي تستخدمها، وترغب في مقارنتها.
  • أنت فضولي بشأن الفروق والتشابهات بين curl و httpie، وترغب في معرفة المزيد عنها.
httpie

كيفية الانتقال بين Curl و Httpie باستخدام Apidog؟

الآن بعد أن عرفت ما هي curl و httpie ولماذا قد ترغب في الانتقال بينهما، دعني أقدم لك أداة يمكن أن تجعل حياتك أسهل: apidog.

Apidog هي أداة قائمة على الويب تسمح لك بتحويل أوامر curl إلى أوامر httpie والعكس. كما أنها تتيح لك تشغيل الأوامر ورؤية النتائج في الوقت الفعلي. Apidog مجانية وسهلة الاستخدام.

button

إليك كيفية استخدام apidog للانتقال بين curl و httpie:

الخطوة 1: قم بلصق أو كتابة أمر curl أو httpie الخاص بك في مربع الإدخال.

يمكنك إما لصق أمر موجود قمت بنسخه من مكان ما، أو كتابة أمر جديد من الصفر. ستقوم Apidog بالكشف تلقائيًا عن نوع الأمر وتظهر لك الرمز المقابل (curl أو httpie) على الجانب الأيسر من مربع الإدخال.

الخطوة 2: انقر على الطلب الفعلي

ستقوم Apidog بتحويل الأمر الخاص بك إلى الأداة الأخرى وتظهر لك النتيجة في مربع الإخراج.

إذا كنت ترغب في اختبار الأمر المحول ورؤية الاستجابة من الخادم، يمكنك النقر على زر التشغيل أو الضغط على Ctrl+R. ستقوم Apidog بتنفيذ الأمر وعرض الاستجابة في اللوحة السفلية. يمكنك أيضًا التبديل بين العرض الخام والمنسق للاستجابة عن طريق النقر على زر التبديل أو الضغط على Ctrl+F.

نصائح وحيل للانتقال بين Curl و Httpie

بينما يمكن أن تتعامل apidog مع معظم الأوامر الشائعة لـ curl و httpie، هناك بعض الحالات التي قد تحتاج فيها إلى إجراء بعض التعديلات اليدوية أو استخدام بعض الخيارات الإضافية. إليك بعض النصائح والحيل لمساعدتك في ذلك:

  • إذا كان أمر curl الخاص بك يستخدم الخيار -d أو --data لإرسال البيانات في جسم الطلب، فقد تحتاج إلى إضافة الخيار --form لأمر httpie للإشارة إلى أن البيانات مشفرة كصيغة. على سبيل المثال:
# أمر curl
curl -d "name=John&age=25" https://example.com/users

# أمر httpie
http --form POST https://example.com/users name=John age=25
  • إذا كان أمر curl الخاص بك يستخدم الخيار -H أو --header لتحديد رؤوس مخصصة، فقد تحتاج إلى إضافة : بعد اسم الرأس في أمر httpie. على سبيل المثال:
# أمر curl
curl -H "Authorization: Bearer abc123" https://example.com/secret

# أمر httpie
http https://example.com/secret Authorization:"Bearer abc123"
  • إذا كان أمر curl الخاص بك يستخدم الخيار -u أو --user لتعيين بيانات اعتماد المصادقة الأساسية، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام صيغة username:password@ في عنوان URL. على سبيل المثال:
# أمر curl
curl -u admin:secret https://example.com/admin

# أمر httpie (الخيار 1)
http -u admin:secret https://example.com/admin

# أمر httpie (الخيار 2)
http https://admin:secret@example.com/admin
  • إذا كان أمر curl الخاص بك يستخدم الخيار -F أو --form لرفع الملفات، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام صيغة @ للإشارة إلى مسار الملف. على سبيل المثال:
# أمر curl
curl -F "image=@photo.jpg" https://example.com/upload

# أمر httpie (الخيار 1)
http -f POST https://example.com/upload image@photo.jpg

# أمر httpie (الخيار 2)
http POST https://example.com/upload image@/path/to/photo.jpg
  • إذا كان أمر curl الخاص بك يستخدم الخيار -X أو --request لتحديد طريقة HTTP، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام اسم الطريقة كأول حجة. على سبيل المثال:
# أمر curl
curl -X PUT -d "status=active" https://example.com/users/1

# أمر httpie (الخيار 1)
http -X PUT -d "status=active" https://example.com/users/1

# أمر httpie (الخيار 2)
http PUT https://example.com/users/1 status=active
  • إذا كان أمر curl الخاص بك يستخدم الخيار -G أو --get لإضافة البيانات إلى عنوان URL كمعلمات استعلام، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام صيغة == للإشارة إلى معلمات الاستعلام. على سبيل المثال:
# أمر curl
curl -G -d "q=hello" https://example.com/search

# أمر httpie (الخيار 1)
http -G -d "q=hello" https://example.com/search

# أمر httpie (الخيار 2)
http https://example.com/search q==hello
  • إذا كان أمر curl الخاص بك يستخدم الخيار --data-urlencode لترميز البيانات قبل إرسالها، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام صيغة := للإشارة إلى البيانات المشفرة. على سبيل المثال:
# أمر curl
curl --data-urlencode "message=Hello World!" https://example.com/echo

# أمر httpie (الخيار 1)
http --data-urlencode "message=Hello World!" https://example.com/echo

# أمر httpie (الخيار 2)
http https://example.com/echo message:="Hello World!"
  • إذا كان أمر curl الخاص بك يستخدم الخيار --data-binary لإرسال بيانات ثنائية خام، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام صيغة @ للإشارة إلى البيانات الثنائية. على سبيل المثال:
# أمر curl
curl --data-binary "@data.bin" https://example.com/binary

# أمر httpie (الخيار 1)
http --data-binary "@data.bin" https://example.com/binary

# أمر httpie (الخيار 2)
http https://example.com/binary @data.bin
  • إذا كان أمر curl الخاص بك يستخدم الخيار -o أو --output لحفظ الاستجابة في ملف، يمكنك استخدام نفس الخيار في أمر httpie، أو استخدام عامل التشغيل > لإعادة توجيه الإخراج. على سبيل المثال:
# أمر curl
curl -o response.json https://example.com/data

# أمر httpie (الخيار 1)
http -o response.json https://example.com/data

# أمر httpie (الخيار 2)
http https://example.com/binary > response.bin

فوائد الانتقال بين Curl و Httpie

حتى الآن، يجب أن تكون لديك فكرة جيدة عن كيفية الانتقال بين أوامر curl و httpie باستخدام apidog. لكن ما هي فوائد القيام بذلك؟ إليك بعض المزايا المرتبطة بقدرتك على استخدام كلا الأداتين:

  • يمكنك اختيار الأداة التي تناسب تفضيلاتك واحتياجاتك بشكل أفضل. يفضل بعض الأشخاص curl لمرونته وتوافقه، بينما يفضل آخرون httpie لبساطته وقراءته. من خلال الانتقال بينهما، يمكنك الاستمتاع بأفضل ما في العالمين.
  • يمكنك تعلم مهارات وتقنيات جديدة من كلا الأداتين. تحتوي curl و httpie على ميزات وخيارات مختلفة يمكن أن تساعدك في مهام وسيناريوهات مختلفة. من خلال الانتقال بينهما، يمكنك اكتشاف طرق جديدة للقيام بالأشياء وتحسين معرفتك وكفاءتك.
  • يمكنك تجنب الأخطاء والأخطاء الناجمة عن استخدام الأداة أو الصيغة الخاطئة. تحتوي curl و httpie على سلوكيات وتوقعات مختلفة عندما يتعلق الأمر بالتعامل مع البيانات، والرؤوس، والمصادقة، والملفات، إلخ. من خلال الانتقال بينهما، يمكنك التأكد من أنك تستخدم الأداة والصيغة الصحيحة لوضعك وتجنب المشكلات المحتملة.

الخاتمة

في هذه المقالة، أظهرت لك كيفية الانتقال بين أوامر curl و httpie باستخدام apidog، أداة على الويب يمكنها تحويل وتشغيل أوامر curl و httpie. كما قدمت لك بعض النصائح والحيل لمساعدتك في عملية التحويل، وبعض فوائد القدرة على استخدام كلا الأداتين.

شكرًا لقراءتك وأتمنى لك برمجة سعيدة!

button
كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidogالدروس التعليمية

كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidog

تعلم كيفية إنشاء واجهة برمجة تطبيقات RESTful بسيطة باستخدام Spring Boot واختبارها بأداة تسمى APIdog. Spring Boot هو إطار عمل يسهل تطوير الويب باستخدام Java. Apidog هي أداة تساعدك في اختبار وتصحيح واجهات برمجة التطبيقات الخاصة بك.

Amir Hassan

فبراير 29, 2024

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات RESTالدروس التعليمية

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST

تحويل واجهات برمجة التطبيقات SOAP إلى REST أصبح أكثر وضوحًا. تقدم واجهات REST مرونة وقابلية للتوسع وبساطة في تعزيز الاتصال بين نظامين أو برنامجين. في هذه المقالة، اكتشف ما تحتاجه لتحويل واجهات SOAP إلى REST!

Amir Hassan

فبراير 29, 2024

قم بتنزيل وتثبيت إنسومنيا على ويندوز/ماكOSالدروس التعليمية

قم بتنزيل وتثبيت إنسومنيا على ويندوز/ماكOS

إن الأرق هو أداة شائعة لإدارة واجهات برمجة التطبيقات بين المطورين. هنا سوف نوضح الخطوات اللازمة لتنزيلها وتثبيتها على نظام التشغيل الخاص بك، مثل ويندوز/لينكس/ماك أو إس، مجانًا.

Amir Hassan

فبراير 27, 2024