تبدیل curl به HTTPie

دستورات curl را به سینتکس HTTPie تبدیل کنید. curl2code کاملاً در مرورگر شما از طریق WebAssembly اجرا می‌شود — داده‌های شما خصوصی می‌مانند. برای HTTP خام، مبدل curl به HTTP ما را امتحان کنید. برای Wget، curl به Wget را ببینید. در ادامه مثال‌های آماده HTTPie آورده شده است.

نحوه کپی کردن curl از مرورگر

  1. 1

    باز کردن DevTools

    کلید F12 یا Ctrl+Shift+I را فشار دهید تا ابزارهای توسعه‌دهنده مرورگر باز شوند.

  2. 2

    رفتن به تب Network

    روی تب Network کلیک کنید و عملیاتی که باعث ارسال درخواست HTTP می‌شود را انجام دهید.

  3. 3

    کپی به عنوان cURL

    روی درخواست راست‌کلیک کنید ← CopyCopy as cURL. سپس آن را در بالا جایگذاری کنید.

سوالات متداول

HTTPie چیست؟

HTTPie یک کلاینت HTTP خط فرمان کاربرپسند است که برای تست و دیباگ API طراحی شده است. این ابزار دارای خروجی رنگی، پشتیبانی پیش‌فرض از JSON، سینتکس گویا و نشست‌های (sessions) پایدار است. با pip install httpie یا brew install httpie نصب می‌شود. curl2code دستورات curl را به سینتکس خواناتر HTTPie تبدیل می‌کند.

HTTPie در مقابل curl در مقابل wget — از کدام ابزار CLI استفاده کنیم؟

HTTPie خواناترین است — ایده‌آل برای تست API و استفاده تعاملی. curl پرویژگی‌ترین و جهانی‌ترین است — روی هر سیستمی در دسترس است. Wget در دانلود فایل‌ها و آینه‌سازی سایت‌ها تخصص دارد. برای کارهای روزمره API از HTTPie و برای اسکریپت‌ها و اتوماسیون از curl استفاده کنید. همچنین curl به Wget را ببینید.

HTTPie چگونه احراز هویت را مدیریت می‌کند؟

ابزار HTTPie دارای احراز هویت داخلی است: http -a user:pass GET url برای احراز هویت Basic. برای Bearer: http GET url 'Authorization:Bearer token'. پلاگین‌های احراز هویت از OAuth، JWT و موارد دیگر پشتیبانی می‌کنند. احراز هویت در HTTPie ساده‌تر از فلگ‌های -u و -H در curl است — که یکی از مزایای کلیدی آن در سهولت استفاده است.

چگونه داده‌های فرم را با HTTPie ارسال کنیم؟

از فلگ -f برای داده‌های فرم استفاده کنید: http -f POST url field=value file@path.pdf. ابزار HTTPie نوع محتوا را به صورت خودکار تشخیص می‌دهد. برای JSON (حالت پیش‌فرض): http POST url name=John age:=30. عملگر := مقادیر خام JSON را ارسال می‌کند. این بسیار شهودی‌تر از فلگ‌های -F و -d در curl است.

چگونه خطاها را با HTTPie مدیریت کنیم؟

ابزار HTTPie وضعیت پاسخ و بدنه را به صورت رنگی به طور پیش‌فرض نشان می‌دهد. از --check-status استفاده کنید تا در صورت بروز خطاهای HTTP با کد خطا خارج شود (کد خروج 4 برای 4xx، 5 برای 5xx). از --print=hHbB برای کنترل خروجی استفاده کنید: هدرها و بدنه درخواست/پاسخ. برای پارس کردن خطای JSON، خروجی را به jq لوله‌کشی کنید.

HTTPie چگونه JSON را مدیریت می‌کند؟

فرمت JSON حالت پیش‌فرض HTTPie است — به طور خودکار Content-Type: application/json را تنظیم کرده و پاسخ‌های JSON را با هایلایت سینتکس به زیبایی چاپ می‌کند. از = برای مقادیر رشته‌ای، := برای JSON خام و :=@ برای JSON از فایل استفاده کنید. این بزرگترین مزیت HTTPie نسبت به رویکرد دستی -H و -d در curl است.

چگونه از HTTPie برای دیباگ API استفاده کنیم؟

از --verbose (یا -v) برای نشان دادن کامل درخواست و پاسخ شامل هدرها استفاده کنید. از --offline برای پیش‌نمایش درخواست بدون ارسال آن استفاده کنید. از --session=name برای کوکی‌ها و هدرهای پایدار در طول فراخوانی‌ها استفاده کنید. خروجی رنگی HTTPie دیباگ کردن را به مراتب خواناتر از -v در curl می‌کند.

چه پلاگین‌هایی برای HTTPie در دسترس است؟

پلاگین‌های محبوب: httpie-oauth برای OAuth، httpie-jwt-auth برای JWT، httpie-aws-auth برای AWS Signature V4، httpie-edgegrid برای Akamai. با pip install httpie-plugin-name نصب کنید. HTTPie همچنین از ~/.httpie/config.json برای هدرها و تنظیمات پیش‌فرض پشتیبانی می‌کند.

چگونه یک درخواست POST با بدنه JSON را در HTTPie نمایش دهیم؟

از -X POST -d '{"key":"value"}' -H "Content-Type: application/json" در دستور curl استفاده کنید و curl2code آن را به فرمت HTTPie تبدیل می‌کند: http POST url key=value. بدنه JSON و هدر Content-Type در خروجی حفظ می‌شوند. curl2code هم JSON داخلی و هم ارجاعات @file.json را مدیریت می‌کند.

چگونه احراز هویت با Bearer token را در HTTPie بگنجانیم؟

وقتی دستور curl -H "Authorization: Bearer YOUR_TOKEN" URL را با curl2code تبدیل می‌کنید، Bearer token در خروجی HTTPie حفظ می‌شود: http url Authorization:'Bearer YOUR_TOKEN'. هر دو فلگ -H "Authorization: Bearer ..." و توکن OAuth به طور خودکار تشخیص داده می‌شوند.

Content-Type در فرمت HTTPie چگونه نمایش داده می‌شود؟

هنگام تبدیل curl -H "Content-Type: application/json" URL، curl2code هدر Content-Type را در HTTPie به این صورت خروجی می‌دهد: http --json url. انواع رایج شامل application/json، application/x-www-form-urlencoded و multipart/form-data هستند. curl2code هدر Content-Type دقیق را از دستور curl اصلی حفظ می‌کند.

لینک‌های مفید

راهنماهای curl

تبدیل curl به زبان‌های دیگر