استفاده از Curl برای ساخت درخواست های REST API

استفاده از Curl برای ساخت درخواست های REST API

application program interface یا (API) مجموعه ای از تعاریف و پروتکل است که به برنامه های نرم افزاری امکان برقراری ارتباط با یکدیگر را می دهد. اصطلاح REST به معنای representational state transfer است. این یک سبک معماری است که شامل مجموعه ای از محدودیت هایی است که هنگام ایجاد خدمات وب باید مورد استفاده قرار گیرد. RESTful API یک API است که از معماری REST پیروی می کند. به طور معمول API های REST از پروتکل HTTP برای ارسال و بازیابی داده ها و پاسخ های فرمت شده با JSON استفاده می کنند. می توانید از روشهای استاندارد HTTP برای ایجاد ، مشاهده ، به روزرسانی یا حذف منابع از طریق API استفاده کنید.

برای آزمایش و تعامل با API های RESTful ، می توانید از هر کتابخانه یا ابزاری استفاده کنید که می تواند درخواست HTTP کند.

درخواست های API از چهار بخش مختلف تشکیل شده است:

  • نقطه پایانی این URL است که مشتری برای برقراری ارتباط با سرور از آن استفاده می کند.
  • روش HTTP. این به سرور می گوید مشتری چه عملی را می خواهد انجام دهد. متداول ترین روش های GET POST PUT DELETE و PATCH هستند
  • سرصفحه ها برای انتقال اطلاعات اضافی بین سرور و مشتری مانند مجوز استفاده می شود.
  • بدن داده ارسال شده به سرور.

در این مقاله ، ما در مورد چگونگی استفاده از curl برای تعامل با API های RESTful صحبت خواهیم کرد. curl یک ابزار خط فرمان برای انتقال داده از یک سرور از راه دور است. به طور پیش فرض در macOS و بیشتر توزیع های لینوکس نصب شده است.

در ادامه با ما در شتابان هاست همراه باشید.

استفاده از Curl برای ساخت درخواست های REST API:

نحو دستور curl به شرح زیر است:

[...curl [options] [URL

در اینجا گزینه هایی وجود دارد که هنگام ساخت درخواست از آنها استفاده خواهیم کرد:

  • -X--request از روش HTTP استفاده می شود.
  • -i--include عنوانهای پاسخ را درج کنید.
  • -d--data داده هایی که ارسال می شوند.
  • -H--header هدر اضافی که ارسال می شود.

HTTP GET:

روش GET یک منبع خاص را از سرور درخواست می کند.

GET روش پیش فرض در هنگام درخواست درخواست HTTP با حلقه است. در اینجا نمونه ای از درخواست GET به API JSONPlaceholder به نمایندگی از همه پست های JSON آورده شده است:

curl https://jsonplaceholder.typicode.com/posts

برای فیلتر کردن نتایج از پارامترهای کوئری استفاده کنید:

curl https://jsonplaceholder.typicode.com/posts?userId=1

HTTP POST:

از روش POST برای ایجاد منبعی روی سرور استفاده می شود. اگر منبع وجود داشته باشد ، آن را نادیده گرفته است.

دستور زیر با استفاده از داده های مشخص شده با گزینه -d یک پست جدید ایجاد می کند:

curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts

نوع بدنه درخواست با استفاده از عنوان Content-Type مشخص می شود. به طور پیش فرض در صورت عدم استفاده از این هدر ، از Content-Type: Application / x-www-form-urlencoded استفاده می شود.

برای ارسال یک داده با فرمت JSON نوع بدن را روی برنامه / json تنظیم کنید:

curl -X POST -H "Content-Type: application/json" \    -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \    https://jsonplaceholder.typicode.com/posts

HTTP PUT:

از روش PUT برای به روزرسانی یا جایگزینی یک منبع در سرور استفاده می شود. این جایگزین کلیه داده های منبع مشخص شده با داده های درخواست می شود.

curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5

HTTP PATCH:

از روش PUT برای ایجاد به روزرسانی های جزئی از منبع موجود در سرور استفاده می شود.

curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5

HTTP DELETE:

روش DELETE منبع مشخص شده را از سرور حذف می کند.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5

احراز هویت:

اگر نقطه پایانی API به تأیید اعتبار نیاز دارد ، باید یک کلید دستیابی به دست آورید. در غیر این صورت ، سرور API با پیام پاسخ “Access Forbidden” یا “Unauthorized” پاسخ خواهد داد.

روند به دست آوردن کلید دسترسی بستگی به API شما در حال استفاده دارد. پس از دسترسی به نشانه دسترسی ، می توانید آن را در هدر ارسال کنید:

curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"

جمع بندی:

ما به شما نشان داده ایم كه چگونه می توانید از Curl استفاده كنید تا درخواست های API را آزمایش كنید.

امیدوارم این مقاله براتون مفید بوده باشه.

ما رو تو شتابان هاست دنبال کنید. 🙂

قبلی «
بعدی »

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *