رفتن به محتوای اصلی
دیدگاه کلود | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش جامع استفاده از Wget برای دانلود فایل و کار با REST API در لینوکس

آموزش جامع استفاده از Wget برای دانلود فایل و کار با REST API در لینوکس

Wget ابزار خط فرمان لینوکس برای دانلود فایل و کار با REST API است که از ادامه دانلود، محدود کردن سرعت و اجرای پس‌زمینه پشتیبانی می‌کند و مناسب کاربران و توسعه‌دهندگان لینوکس است.

ابزار Wget یکی از پرکاربردترین دستورات خط فرمان در لینوکس است که برای دانلود فایل‌ها از اینترنت و همچنین ارتباط با REST API‌ها استفاده می‌شود. این ابزار از پروتکل‌های HTTP، HTTPS، FTP و FTPS پشتیبانی می‌کند و یکی از مزیت‌های اصلی آن، عملکرد پایدار در شبکه‌های کند یا ناپایدار است.

Wget در صورت قطع شدن دانلود، به‌صورت خودکار تلاش مجدد انجام می‌دهد و حتی می‌تواند دانلودهای نیمه‌کاره را بدون نیاز به شروع از ابتدا ادامه دهد. همین ویژگی‌ها باعث شده Wget به ابزاری قابل اعتماد برای مدیران سیستم، توسعه‌دهندگان و کاربران تازه‌کار لینوکس تبدیل شود.

در وب‌سایت دیدگاه، تلاش می‌کنیم ابزارهایی را معرفی کنیم که هم ساده باشند و هم در پروژه‌های واقعی به کار بیایند، و Wget دقیقاً یکی از همان ابزارهاست.


Wget فقط برای دانلود فایل نیست

برخلاف تصور بسیاری از کاربران، Wget فقط مخصوص دانلود فایل نیست. شما می‌توانید با استفاده از آن، بدون نصب ابزار اضافی مانند curl، درخواست‌های API از نوع GET، POST، PUT و DELETE ارسال کنید و هدرهای مختلف HTTP را مستقیماً از ترمینال مدیریت نمایید.


این آموزش برای چه کسانی مناسب است؟

این راهنما برای گروه‌های زیر طراحی شده است:

  • افرادی که می‌خواهند فایل‌ها را سریع و مطمئن دانلود کنند

  • مدیران سیستم که نیاز به دانلود خودکار، ادامه دانلود یا محدود کردن سرعت دارند

  • توسعه‌دهندگانی که می‌خواهند با REST API کار کنند

  • کاربرانی که به دنبال اسکریپت‌نویسی و اتوماسیون هستند

  • کسانی که با سرویس‌های ابری مانند DigitalOcean کار می‌کنند


نصب و پیش‌نیازها

بررسی نصب بودن Wget

در اغلب توزیع‌های لینوکس، Wget به‌صورت پیش‌فرض نصب است. برای بررسی کافی است در ترمینال بنویسید:

 
wget

اگر نصب نبود، در اوبونتو و دبیان می‌توانید با دستور زیر آن را نصب کنید:

 
sudo apt-get install wget

گزینه‌ها و فلگ‌های پرکاربرد Wget

Wget دارای فلگ‌های متنوعی است که کنترل کاملی روی دانلود و درخواست‌های HTTP به شما می‌دهد. مهم‌ترین آن‌ها عبارتند از:

  • -P مشخص کردن مسیر ذخیره فایل

  • -q اجرای دستور در حالت بی‌صدا

  • --show-progress نمایش فقط نوار پیشرفت

  • -c ادامه دانلود قطع‌شده

  • --limit-rate محدود کردن سرعت دانلود

  • -O ذخیره فایل با نام دلخواه

  • -i دانلود چند فایل از لیست

  • -b دانلود در پس‌زمینه

  • --tries تعیین تعداد تلاش مجدد

  • -T تعیین زمان timeout

  • --header افزودن هدر HTTP

  • --method تعیین نوع درخواست (POST، PUT، DELETE و …)

ترکیب درست این فلگ‌ها، Wget را به ابزاری قدرتمند برای سناریوهای واقعی تبدیل می‌کند.


دانلود فایل با Wget

دانلود ساده یک فایل

برای دانلود یک فایل، فقط کافی است آدرس آن را بعد از دستور wget وارد کنید:

 
wget https://example.com/file.zip

فایل به‌صورت پیش‌فرض در مسیر فعلی ذخیره می‌شود.


دانلود در مسیر دلخواه

اگر بخواهید فایل در پوشه خاصی ذخیره شود:

 
wget -P Downloads/ https://example.com/file.zip

دانلود بدون نمایش خروجی

برای اجرای بی‌صدا:

 
wget -q https://example.com/file.zip

اگر فقط نوار پیشرفت را می‌خواهید:

 
wget -q --show-progress https://example.com/file.zip

دانلود چند فایل به‌صورت همزمان

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

 
wget -i links.txt -P Downloads/ -q --show-progress

محدود کردن سرعت دانلود

برای جلوگیری از اشغال کامل پهنای باند:

 
wget --limit-rate=200k https://example.com/file.zip

ادامه دانلود قطع‌شده

اگر دانلود نیمه‌کاره شد:

 
wget -c https://example.com/file.zip

دانلود در پس‌زمینه

برای اجرای دانلود بدون اشغال ترمینال:

 
wget -b https://example.com/file.zip

و بررسی وضعیت:

 
tail -f wget-log

کار با REST API با Wget

ارسال درخواست GET

برای دریافت خروجی API در ترمینال:

 
wget -qO- https://api.example.com/data

ارسال POST با داده JSON

 
wget -qO- \ --method=post \ --header="Content-Type: application/json" \ --body-data='{"key":"value"}' \ https://api.example.com/create

ارسال PUT

 
wget --method=put -qO- \ --header="Content-Type: application/json" \ --body-data='{"id":1,"name":"updated"}' \ https://api.example.com/update/1

ارسال DELETE

 
wget --method=delete -qO- https://api.example.com/delete/1

استفاده از هدر احراز هویت

 
wget -qO- \ --header="Authorization: Bearer TOKEN" \ https://api.example.com/secure

مقایسه Wget و curl

به‌طور خلاصه:

  • اگر تمرکز شما روی دانلود پایدار، ادامه دانلود و اجرای خودکار است → Wget

  • اگر با APIهای پیچیده، احراز هویت پیشرفته و HTTP/2 کار می‌کنید → curl

در بسیاری از پروژه‌ها، استفاده هم‌زمان از هر دو کاملاً منطقی است.


جمع‌بندی

Wget ابزاری ساده اما بسیار قدرتمند است که هم برای کاربران تازه‌کار و هم برای حرفه‌ای‌ها کاربرد دارد. از دانلود فایل‌های ساده گرفته تا تعامل با APIها و سرویس‌های ابری، همه را می‌توان با چند دستور در ترمینال مدیریت کرد.

در دیدگاه تلاش می‌کنیم آموزش‌هایی ارائه دهیم که هم عملی باشند و هم در پروژه‌های واقعی به کار بیایند، و Wget یکی از ابزارهایی است که دانستن آن برای هر کاربر لینوکس تقریباً ضروری است.