حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

curl چیست؟ آشنایی با curl و کاربرد های آن

چگونه از curl استفاده کنیم؟ curl یک ابزار خط فرمان است که به شما امکان ارسال درخواست های مختلف رو به سمت سرور میده. curl مخفف Client for URLs است. یکی از کاربرد های بسیار مهم curl تست url های مختلف مخصوصاً برای پیاده سازی api های تحت وب رو به شما میده. اگر روی سیستمون PHP رو نصب داشته باشید این ابزار به صورت پیش فرض بر روی سیستمون نصب شده، اما اگر بر روی سیستمون نصب نشده، برای نصب این ابزار می تونید به این آدرس مراجعه کنید و نسخه مورد نظرتون رو دریافت کنید و ازش استفاده کنید. کاربران لینوکس هم می تونن بوسیله دستورات زیر curl رو بر روی سیستمشون نصب کنن (تست شده بر روی Ubuntu):

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
sudo apt-get update
sudo apt-get install curl
curl --version

اما چجوری میشه از curl استفاده کرد، ساده ترین حالت استفاده از curl به صورت زیر هست:

curl https://tosinso.com

با اجرای دستور بالا خروجی تولید شده کد html صفحه landing وب سایت توسینسو هست. حالا فرض کنید که می خواییم خروجی مورد نظر رو داخل یک فایل ذخیره کنیم، به راحتی و بوسیله دستور زیر می تونیم این کار رو انجام بدیم:

curl -o output.out https://tosinso.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 65208  100 65208    0     0  65208      0  0:00:01 --:--:--  0:00:01  185k

با اجرای دستور بالا خروجی html دریافت شده در قالب یک فایل با نام output.out ذخیره می شود. یکی دیگه از قابلیت های curl دانلود فایل هست، برای دانلود فایل کافیه curl رو به صورت استفاده کنیم:

curl -o downloaded.zip https://tosinso.com/file.zip

با اجرای دستور بالا فایل file.zip از سرور مورد نظر با نام downloaded.zip دانلود و ذخیره می شود.همچنین امکان دانلود چند فایل به صورت همزمان وجود دارد:

curl -O https://tosinso.com/file1.zip -O https://tosinso.com/file2.

برای دریافت اطلاعات Header از یک آدرس وب سایت به صورت زیر از دستور curl استفاده می کنیم:

curl -I https://tosinso.com
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 71996
Content-Type: text/html; charset=utf-8
Set-Cookie: ASP.NET_SessionId=...; domain=tosinso.com; path=/; HttpOnly
X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
Set-Cookie: ASP.NET_SessionId=...; domain=tosinso.com; path=/; HttpOnly
Set-Cookie: __RequestVerificationToken=...; domain=tosinso.com; path=/; HttpOnly
X-Powered-By: ASP.NET
Date: Mon, 18 Feb 2019 10:06:31 GMT

اما اگر بخواییم به یک سرور FTP دسترسی داشته باشیم از دستور curl به صورت زیر استفاده می کنیم:

curl ftp://ftp.tosinso.com -user username:password

با اجرای دستور بالا بعد از اتصال به سرور ftp لیست کلیه فایل های سرور برای شما نمایش داده خواهد شد (با توجه به username و password مشخص شده) برای ارسال درخواست های POST به سک سرور به صورت زیر اینکار رو انجام میدیم:

curl --data "username=test&password=123" https://tosinso.com/register

اگر بخواییم به یک وب سایت اطلاعات کوکی دلخواه رو ارسال کنیم، کافیه مقدار کوکی مورد نظر رو در قالب یک فایل txt ذخیره کنیم و به صورت زیر اطلاعات کوکی رو ارسال کنیم:

curl --cookie cookies.txt https://tosinso.com

دستور curl کاربردهای زیادی داره که ما در این مطلب برخی از اون ها رو ذکر کردیم، در مطالب بعدی سعی می کنیم سایر کاربردهای این ابزار قدرتمند رو بررسی کنیم.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات