سرفصل‌های آموزشی
آموزش RESTful API
تست کردن پروژهٔ RESTful API با استفاده cURL

تست کردن پروژهٔ RESTful API با استفاده cURL

اساساً کاربرد نرم‌افزار Postman و دیگر نرم‌افزارهای مشابه در محیط توسعه است که در آن‌ها سعی شده تا حد ممکن فضایی مشابه آنچه یک کلاینت واقعی دارا است شبیه‌سازی شود. حال برای آن که از فضای توسعهٔ کمی فاصله گرفته و محیطی شبیه‌تر به آنچه یک کلاینتِ ای‌پی‌آیِ واقعی دارا است را تجربه کنیم، در این فصل قصد داریم تا یک وب اپلیکیشن دیگر طراحی کنیم که قرار است به عنوان کلاینت وب سرویسی که نوشته‌ایم عمل کند. در این کلاینت، قصد داریم از یک لایبرری به نام cURL استفاده نماییم و از همین روی، ابتدا به معرفی این لایبرری پرداخته سپس با نحوهٔ استفاده از آن آشنا خواهیم شد.

cURL چیست؟

cURL که نامش برگرفته از واژگان Client URL است، یکی از لایبرری‌های پرکاربرد زبان برنامه‌نویسی پی‌اچ‌پی است که به منظور ارسال ریکوئست‌هایی از جنس HTTP مورد استفاده قرار می‌گیرد. به عبارت دیگر،‌ با استفاده از این لایبرری می‌توان یک یوآر‌ال را از داخل سورس‌کد باز کرده و محتویات آن را دریافت کرد و یا تَسک‌های مد نظر خود را روی آن پیاده ساخت.

    هشدار 
در استفاده از این لایبرری می‌باید دقت بسیار کرد چرا که ممکن است یوآر‌الی که با استفاده از این ابزار باز می‌کنیم حاوی کدهای مخرب باشد.

پیش از شروع استفاده از این لایبرری، با استفاده از کامند زیر می‌توان از نصب بودنش روی سیستم اطمینان حاصل کرد:

$ curl --version
curl 7.58.0

حال به عنوان یک تست اولیه، فایلی با نامی دلخواه ساخته و کدهای زیر را داخل آن کپی می‌کنیم:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://sokanacademy.com');
curl_exec($ch);

با اجرای این فایل در محیط لوکال‌هاست، می‌بینیم که وب‌سایت سکان آکادمی داخل صفحهٔ مرورگر لود خواهد شد و این دقیقاً همان کاربردی است که از cURL انتظار داریم؛ به عبارتی، شبیه‌سازی آدرس بار مرورگر در داخل سورس‌کد بدین شکل که با وارد کردن یک یو‌آر‌ال، محتویاتش بازگردانده شود.

در تفسیر کدهای فوق می‌توان گفت که فانکشن ()curl_init این وظیفه را دارا است تا پروسهٔ استفاده از این لایبرری را شروع کند که آن را در متغیری تحت عنوان ch$ ریخته‌ایم. سپس از فانکشی تحت عنوان ()curl_setopt استفاده کرده‌ایم که این وظیفه را دارا است تا آپشن‌های مد نظرمان را روی این لایبرری اِعمال کند؛ به طور مثال، دستور داده‌ایم که مقدار آپشن CURLOPT_URL برابر با یوآر‌ال https://sokanacademy.com باشد و در انتها نیز با دستور ()curl_exec و پاس دادن متغیری که پیش از این ساخته بودیم، ارسال ریکوئست اچ‌تی‌تی‌پی را آغاز می‌کنیم.

حال در ادامهٔ این فصل خواهیم دید که به جای استفاده از نرم‌افزارهایی همچون Postman، به چه شکل می‌توان وب سرویسی که بر پایهٔ معماری REST توسعه دادیم را از طریق یک وب اپلیکیشن واقعی مورد استفاده قرار دهیم.

online-support-icon