تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

cURL چیست؟ + نحوه دانلود فایل با cURL در سرور مجازی


۷ بهمن ۱۴۰۳

ابزار خط فرمان cURL (یا Client URL)، ابزاری برای انتقال داده‌ها بین سیستم‌ها است. این ابزار از پروتکل‌های زیادی پشتیبانی می‌کند و معمولاً به صورت پیش‌فرض بر روی بسیاری از سیستم‌عامل‌های مشابه یونیکس، نصب می‌شود. به دلیل راحتی و دسترس‌پذیری بالا، این ابزار، گزینه‌ی مناسبی برای دانلود فایل‌ها در سرور مجازی لینوکس، محسوب می‌شود.

در این آموزش، از دستور curl برای دانلود یک فایل متنی از یک وب‌سرور استفاده خواهیم کرد. محتویات فایل را مشاهده کرده، آن را در local ذخیره می‌کنیم و در صورتی که فایل‌ها جابه‌جا شده باشند، به curl دستور می‌دهیم که تغییر مسیرها (redirectها) را دنبال کند.

دانلود فایل‌ها از اینترنت می‌تواند خطرناک باشد، بنابراین اطمینان حاصل کنید که از منابع معتبر، فایل دانلود می‌کنید. در این آموزش، فایل‌ها از وب‌سایت liara.ir دانلود می‌شوند و هیچ یک از فایل‌های دانلودشده، اجرا نخواهند شد. در ادامه بخوانید:

  • مرحله اول: نصب cURL (در صورت نیاز)
  • مرحله دوم: دریافت فایل‌ها از اینترنت
  • مرحله سوم: ذخیره فایل‌ها با اسم خاص
  • مرحله چهارم: دنبال‌کردن ری‌دایرکت‌ها
  • نتیجه‌گیری

مرحله اول: نصب cURL

همانطور که قبلاً گفته شد، cURL در اکثر سیستم‌عامل‌های مشابه یونیکس، به‌طور پیش‌فرض نصب‌شده است و نیازی به نصب مجدد آن نیست؛ برای اطمینان از وجود این ابزار در سیستم‌عامل‌تان، کافیست تا در ترمینال، دستور زیر را اجرا کنید:

curl --verison

خروجی دستور فوق، باید مشابه زیر باشد:

curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.16
Release-Date: 2022-01-05
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd

در صورتی که خروجی مشابه فوق را، دریافت نکردید؛ نیاز است که با اجرای دستورات زیر، cURL را بر روی سیستم‌عامل‌تان، نصب کنید:

sudo apt update
sudo apt install curl -y

با اجرای دستورات فوق، انتظار می‌رود که cURL بر روی سیستم‌عامل‌تان نصب شده باشد و اکنون می‌توانید برای اطمینان از نصب، مجدداً دستور زیر را اجرا کنید:

curl --verison

مرحله دوم: دریافت فایل‌ها از اینترنت

بدون نیاز به استفاده از هیچ آرگومان اضافی، دستور curl به صورت پیش‌فرض یک فایل را دریافت کرده و محتویات آن را در ترمینال، نمایش می‌دهد. برای امتحان، فایل robots.txt را از وب‌سایت liara.ir دانلود می‌کنیم:

curl https://liara.ir/robots.txt

محتویات فایل فوق، باید به صورت زیر، بر روی صفحه، نمایش داده شود:

User-agent: *
Allow: /
Sitemap: https://liara.ir/sitemap/sitemap-index.xml

با ارائه یک URL به دستور curl، این ابزار منبع مورد نظر را دریافت کرده و محتویات آن را نمایش می‌دهد.

نحوه ذخیره فایل‌ها در سیستم

دریافت یک فایل و نمایش محتویات آن، مفید است، اما اگر بخواهیم فایل را به صورت واقعی در سرور مجازی خود ذخیره کنیم، چه کاری باید انجام دهیم؟

برای ذخیره فایل‌ها از اینترنت در سرور مجازی خود، با همان نام فایل روی سرور، از آرگومان --remote-name یا گزینه‌ی -O استفاده می‌کنیم:

curl -O https://liara.ir/robots.txt

با اجرای دستور فوق، فایل شما دانلود خواهد شد:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    98    0    98    0     0    467      0 --:--:-- --:--:-- --:--:--   468

به جای نمایش محتویات فایل، curl یک نشانگر پیشرفت مبتنی بر متن (text-based progress meter) نمایش می‌دهد و فایل را با اسم اصلی خود، ذخیره می‌کند. برای بررسی فایل، می‌توانید از دستور cat استفاده کنید:

cat robots.txt

فایل شامل همان محتویاتی است که قبلاً مشاهده کردید:

User-agent: *
Allow: /
Sitemap: https://liara.ir/sitemap/sitemap-index.xml

اکنون بیایید نام فایل دانلودی را در سیستم، تغییر دهیم.

مرحله سوم: ذخیره فایل‌ها با اسم خاص

ممکن است در سرور مجازی خود، فایلی با همان نام فایل موجود در اینترنت داشته باشید یا اصلاً نام دیگری به جز نام اصلی فایل، برای آن، انتخاب کرده باشید. برای جلوگیری از بازنویسی فایل قبلی با همان نام، یا ذخیره فایل جدید با نام متفاوت از نام اصلی آن؛ می‌توانید از آرگومان -o یا --output استفاده کنید و نام فایلی که می‌خواهید محتویات در آن ذخیره شود را مشخص کنید.

برای دانلود فایل robots.txt از اینترنت و ذخیره آن در سیستمی با نام do-bots.txt، دستور زیر را اجرا کنید:

curl -o do-bots.txt https://liara.ir/robots.txt

با اجرای دستور فوق، بار دیگر، نشانگر پیشرفت نمایش داده می‌شود:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    98    0    98    0     0    249      0 --:--:-- --:--:-- --:--:--   250

اکنون از دستور cat برای نمایش محتویات فایل do-bots.txt استفاده کنید تا اطمینان حاصل کنید که این، همان فایل دانلودشده است:

cat do-bots.txt

محتویات فایل، یکسان خواهد بود:

User-agent: *
Allow: /
Sitemap: https://liara.ir/sitemap/sitemap-index.xml

به‌صورت پیش‌فرض، curl تغییر مسیرها (redirectها)ی موجود در یک لینک را دنبال نمی‌کند. به عنوان مثال، اگر لینکی که از آن استفاده می‌کنید؛ به لینک دیگری هدایت شود؛ curl متوجه آن نخواهد شد. بنابراین، ممکن است نتیجه‌ای غیرمنتظره دریافت کنید. در ادامه نحوه حل این مشکل را بررسی خواهیم کرد.

مرحله چهارم: دنبال‌کردن ری‌دایرکت‌ها

تا اکنون، تمام مثال‌ها، شامل URLهای کامل با پروتکل https:// بوده‌اند. اگر شما به اشتباه تلاش می‌کردید تا فایل robots.txt را دانلود کنید و فقط liara.ir و نه (https://liara.ir) را وارد می‌کردید، هیچ خروجی مشاهده نمی‌کردید، زیرا Liara، درخواست‌ها را از http:// به https:// ری‌دایرکت می‌کند.

برای تأیید این موضوع، می‌توانید از فلگ -I استفاده کنید که هدرهای درخواست (request headerها) را به جای محتویات فایل نمایش می‌دهد:

curl -I liara.ir/robots.txt

خروجی دستور فوق، نشان می‌دهد که URL، ری‌دایرکت شده است. اولین خط خروجی، به شما می‌گوید که فایل جابه‌جا شده و خط Location، مکان جدید فایل را نشان می‌دهد:

HTTP/1.1 308 Permanent Redirect
Location: https://liara.ir/robots.txt
Date: Sat, 25 Jan 2025 08:55:48 GMT
Content-Length: 18
Content-Type: text/plain; charset=utf-8

شما می‌توانید با استفاده از curl، درخواست دیگری به طور دستی ارسال کنید، یا می‌توانید از آرگومان --location یا -L استفاده کنید که به curl دستور می‌دهد هر زمان که با redirect مواجه شد، درخواست را به مکان جدید، هدایت کند:

curl -L liara.ir/robots.txt

این بار، خروجی درستی را خواهید دید، زیرا curl، ری‌دایرکت را دنبال کرده است:

User-agent: *
Allow: /
Sitemap: https://liara.ir/sitemap/sitemap-index.xml
Host: https://liara.ir

شما می‌توانید آرگومان -L را با برخی از آرگومان‌های قبلی ترکیب کنید تا فایل را در سرور مجازی خود، دانلود کنید:

curl -L -o do-bots.txt www.digitalocean.com/robots.txt

هشدار: بسیاری از منابع آنلاین از شما می‌خواهند که از curl برای دانلود اسکریپت‌ها و اجرای آن‌ها استفاده کنید. قبل از اجرای هر اسکریپتی که دانلود کرده‌اید، بهتر است محتویات آن را بررسی کنید تا از سالم بودن آن اطمینان حاصل کنید. از دستور less برای مرور کد استفاده کنید تا مطمئن شوید همان چیزی است که قصد دارید اجرا کنید.

نتیجه‌گیری

curl به شما این امکان را می‌دهد که به سرعت، فایل‌ها را از اینترنت دانلود کنید. curl از پروتکل‌های مختلف زیادی پشتیبانی می‌کند و می‌تواند درخواست‌های وب پیچیده‌تری را از جمله تعامل با APIهای راه دور برای ارسال و دریافت داده‌ها نیز انجام دهد. برای اطلاعات بیشتر، می‌توانید صفحه راهنمای curl را با استفاده از دستور man curl مشاهده کنید.

سرور مجازی لینوکس لیارا یکی از بهترین گزینه‌ها برای توسعه‌دهندگان و کسب‌وکارهایی است که به دنبال یک سرویس قدرتمند، مقیاس‌پذیر و مقرون به صرفه هستند. این سرویس با بهره‌گیری از جدیدترین تکنولوژی‌ها و سخت‌افزارهای پیشرفته، عملکرد عالی و سرعت بالای سرور را تضمین می‌کند. از دیگر ویژگی‌های بارز سرور مجازی لینوکس لیارا می‌توان به مدیریت آسان، مقیاس‌پذیری بالا، امنیت بالای داده‌ها و پشتیبانی ۲۴ ساعته اشاره کرد. این سرویس به کاربران امکان می‌دهد تا در کمترین زمان ممکن، سرورهای مجازی خود را راه‌اندازی و مدیریت کنند و از منابع بهینه استفاده کنند. همچنین، با ارائه پنل کاربری ساده و پشتیبانی از انواع توزیع‌های لینوکس، سرور مجازی لینوکس لیارا گزینه‌ای عالی برای استارتاپ‌ها، توسعه‌دهندگان و شرکت‌ها به شمار می‌آید که به دنبال راه‌حل‌های سریع و کارآمد هستند. در نهایت، با انتخاب لیارا، شما می‌توانید یک سرور مجازی قدرتمند با هزینه‌های مناسب را برای پروژه‌های خود داشته باشید و تجربه‌ای بی‌نظیر از عملکرد و پشتیبانی دریافت کنید.



ســــــــــــــــــــــال‌هاست که هستیم

۶ سال در کنار شما تجربه جمع کردیم. تازه در ابتدای مسیر هستیم، مسیر ساخت آینده.

sixth

جمع‌مـــــــــــان، جمع است

بیش از ۴۰ هزار توسعه‌دهنده و صاحبان کسب و کار در جمع ما هستند. جای شما خالی‌ست...

usersnumberusers

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

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

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگانسرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماهارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید. (به‌همراه دسترسی SMTP)

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

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

همراه شما هستیم

در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
تلفن واحد فروش:
۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
call
تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)