دستور cURL یک ابزار مفید لینوکس برای انتقال داده ها و عیب یابی اتصال است. در سمت کلاینت، cURL توسط libcurl، یک کتابخانه رایگان انتقال URL، پشتیبانی می‌شود.

بیایید عمیق تر برویم و روش استفاده از آن را دریابیم.

دستور cURL دستور و گزینه ها

این دستور اولیه دستور cURL است:

curl [OPTIONS] [URL]

بدون هیچ گزینه ای، cURL محتوای URL را در قالب HTML نمایش می دهد. به عنوان مثال، با وارد کردن موارد زیر، محتوای آن نشان داده می شود hostinger.com‘s homepage:

curl hostinger.com

با ترکیب این گزینه ها می توانید دستور cURL را بیشتر سفارشی کنید:

  • -X – مشخص می کند که از کدام روش HTTP استفاده شود.
  • -H “HeaderName: HeaderValue” – هدرهای HTTP سفارشی را برای درخواست تنظیم می کند.
  • -d “داده” – داده ها را در بدنه درخواست ارسال می کند.
  • -o – پاسخ به یک فایل را ذخیره می کند.
  • -O – یک فایل از راه دور را ذخیره می کند.
  • -من – شامل هدرهای پاسخ HTTP در خروجی است.
  • – تغییر مسیرهای HTTP را دنبال می کند.
  • -k – امکان اتصال به سایت های SSL بدون گواهی را فراهم می کند.
  • -v – خروجی مفصلی برای اشکال زدایی فراهم می کند.

به عنوان مثال، دستور زیر به شما امکان دانلود را می دهد file.txt از جانب example.com:

curl -O https://example.com/file.txt

روش بررسی نسخه cURL

مانند هر دستور دیگر لینوکس، قبل از شروع کار با cURL، اجازه دهید وارد VPS شویم. اگر به کمک نیاز دارید، این آموزش در مورد SSH را بررسی کنید.

ابتدا بیایید بررسی کنیم که چه نسخه ای از cURL با دستور زیر در دسترس است:

curl --version

خروجی نسخه cURL و لیستی از پروتکل های پشتیبانی شده را نشان می دهد.

روش استفاده از دستور cURL در لینوکس

حالا که اصول دستور cURL را فهمیدید، بیایید عمیق تر برویم و به چند کاربرد عملی نگاه کنیم.

روش استفاده از دستور cURL برای HTTP

cURL را می توان برای سرور پروکسی استفاده کرد. اگر پشت سرور پروکسی در حال گوش دادن هستید روی پورت 8090 در sampleproxy.com، فایل ها را مطابق شکل زیر دانلود کنید:

curl -x  sampleproxy.com:8090 -U username:password -O http:// testdomain.com/testfile.tar.gz

در مثال بالا می توانید از آن بگذرید -U نام کاربری: رمز عبور اگر پروکسی به روش احراز هویت نیاز نداشته باشد.

یک درخواست HTTP معمولی همیشه حاوی یک هدر خواهد بود. هدر HTTP اطلاعات اضافی در مورد وب سرور راه دور همراه با درخواست واقعی ارسال می کند. با استفاده از ابزارهای توسعه دهنده مرورگر، می توانید اطلاعات هدر را بررسی کرده و با استفاده از دستور cURL آن را تأیید کنید.

در زیر نمونه ای از روش بازیابی اطلاعات هدر از یک وب سایت آورده شده است.

curl -I www.testdomain.com

با استفاده از cURL می توانید a گرفتن و الف پست درخواست. آ گرفتن درخواست به شرح زیر خواهد بود:

curl http://mydomain.com

نمونه ای از a پست درخواست مطابق شکل زیر خواهد بود:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

اینجا text=سلام پارامتر درخواست POST است. این رفتار شبیه فرم های HTML خواهد بود.

همچنین می توانید چندین روش HTTP را در یک دستور cURL مشخص کنید. این کار را با استفاده از -بعد گزینه:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp

این شامل یک درخواست POST و به دنبال آن یک درخواست GET است.

هر درخواست HTTP یک عامل کاربر دارد. این نشان دهنده جزئیات مرورگر وب مشتری است. به طور پیش‌فرض، درخواست cURL حاوی curl و شماره نسخه است که توسط عامل کاربر توضیح داده شده است. در اینجا یک نمونه از خروجی است:

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

با استفاده از دستور زیر می توانید این اطلاعات عامل کاربر پیش فرض را تغییر دهید:

curl -I http://mydomain.com –-user-agent “My new Browser”

حال، خروجی تغییر یافته به صورت زیر خواهد بود:

“GET / HTTP/1.1” 200 “_” ”My new Browser”

روش استفاده از cURL برای کوکی ها

از دستورات cURL می توان برای بررسی اینکه چه کوکی هایی دانلود می شوند استفاده کرد روی یک URL بنابراین، اگر در حال دسترسی هستید https://www.samplewebsite.com، می توانید فایل را خروجی بگیرید، کوکی ها را ذخیره کنید و با استفاده از ویرایشگر Cat یا VIM به آنها دسترسی داشته باشید.

در اینجا یک دستور نمونه برای این مورد استفاده آمده است:

curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O

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

curl --cookie Mycookies.txt https://www. samplewebsite.com

روش استفاده از cURL برای FTP

دستور cURL از FTP پشتیبانی می کند، بنابراین می توانید از آن برای دانلود فایل ها از یک سرور راه دور استفاده کنید.

curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz

در دستور بالا، ftp://sampleftpserver یک سرور FTP است که اتصالات را می پذیرد. نام کاربری و رمز عبور را می توان برای اتصالات FTP ناشناس نادیده گرفت. دستور را وارد کرده و پر شدن نوار پیشرفت را تماشا کنید.

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

curl -u username:password -T testfile.tar.gz ftp://sampleftpserver

روش محدود کردن خروجی cURL

هنگام استفاده از cURL، می‌توانید پهنای باند را محدود کنید تا مطمئن شوید که درنگ نیست.

دستور زیر پهنای باند را به 100K محدود می کند:

curl --limit-rate 100K http://testdomain.com/samplefile.tar.gz -O

نتیجه

cURL یک ابزار قدرتمند و پرکاربرد است، به خصوص اگر اغلب از خط فرمان استفاده می کنید. چندین گزینه دارد و از چندین پروتکل پشتیبانی می کند.

اگر می خواهید در مورد این دستور بیشتر بدانید، به دفترچه راهنمای داخلی که در تمام نسخه های یونیکس موجود است مراجعه کنید:

man curl

امیدواریم این آموزش به شما در شروع کار با cURL کمک کرده باشد. روش استفاده از این ابزار مفید را در نظرات زیر به ما اطلاع دهید.