تغییرات اخیر

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

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


۲۰ آذر ۱۴۰۴

Wget یک ابزار مانند خط فرمان (Command-line) در سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس است که امکان دانلود فایل‌ها و تعامل با REST API ها را برای کاربران فراهم کند. همچنین یکی از ویژگی‌های این ابزار این است که می‌تواند از پروتکل‌های FTP , HTTPS , HTTP , FTPS به صورت کامل پشتیبانی کند.

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

با Wget، می‌توانید بدون نصب برنامه‌های اضافه‌ای، با REST API ها تعامل کنید، همچنین می‌توانید درخواست‌های HTTP از نوع:

  • PUT
  • POST
  • GET
  • DELETE

را همراه با هدرهایی به صورت تکی یا چندگانه مستقیما از طریق ترمینال ارسال کنید.

در ادامه، مجموعه‌ای جامع از دستورهای کاربردی Wget ارائه خواهیم کرد تا بتوانید از این ابزار برای مدیریت دانلودها و تعامل با APIها به‌صورت دقیق و عملی استفاده کنید.

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

آنچه در ادامه خواهید خواند:

  • دانلود فایل‌ها با Wget
  • تعامل با REST API، استفاده از Wget به‌عنوان HTTP Client
  • ساخت Droplet از طریق API
  • دستورهای تکمیلی برای مدیریت دانلود
  • ادغام Wget با اسکریپت‌نویسی شل
  • جمع‌بندی
انتخاب cURL چیست؟ + نحوه دانلود فایل با cURL در سرور مجازی
cURL در سرور مجازی

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

برای اینکه بتوانید با Wget فایل‌هایتان را دانلود کنید باید مراحل زیر را دنبال کنید.

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

متداول‌ترین کاربرد Wget دانلود مستقیم فایل از یک آدرس اینترنتی است.

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

فایل دانلود‌شده در مسیر فعلی ذخیره می‌شود و جزئیات روند دانلود نمایش داده خواهد شد.

Wget

2. دانلود و تعیین نام دلخواه برای خروجی

برای ذخیره فایل با یک نام مشخص از روش زیر استفاده کنید:

wget -O myfile.zip https://example.com/file.zip

3. ادامه دانلود فایل‌های قطع‌شده (Resume)

قابلیت بسیار مهم Wget برای مدیریت شبکه‌های ناپایدار ادامه روند دانلود برای فایل‌های قطع شده است. برای استفاده از این مزیت از روش زیر استفاده کنید:

wget -c https://example.com/largefile.iso

این قابلیت برای دانلود فایل‌های سنگین یا شبکه‌های با کیفیت پایین بسیار پر کاربرد خواهد بود.

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

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

wget --limit-rate=300k https://example.com/video.mp4

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

برای آزاد نگه‌داشتن ترمینال هنگام دانلود می‌توانید:

wget -b https://example.com/bigbackup.tar.gz

را انجام دهید. نکته: لاگ فرآیند در فایل wget-log ذخیره می‌شود.

 آزاد نگه‌داشتن ترمینال هنگام دانلود

6. دانلود چند فایل با استفاده از لیست

برای این عمل ابتدا فایل متنی urls.txt شامل لینک‌ها تهیه کنید:

https://example.com/file1.zip
https://example.com/file2.zip
https://example.com/file3.zip

سپس دستور زیر را اجرا کنید:

wget -i urls.txt

تعامل با REST API، استفاده از Wget به‌عنوان HTTP Client

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

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

برای اینکه بتوانید درخواست GET را ارسال کنید، بایستی دستور زیر را در خط فرمان وارد نمایید.

wget --method=GET https://api.example.com/users

برای ذخیره نتیجه در فایل:

wget -O users.json https://api.example.com/users

2. ارسال GET همراه با هدر (Authorization)

در زمان نیاز به ارسال GET همراه با هدر، از کد زیر استفاده کنید.

wget \
 --method=GET \
 --header="Authorization: Bearer YOUR_TOKEN" \
 https://api.example.com/profile

3. ارسال درخواست POST همراه با JSON Body

برای ارسال درخواست POST با JSON Body بایستی از کد زیر بهره‌برداری کنید.

wget \
 --method=POST \
 --header="Content-Type: application/json" \
 --body-data='{"username": "narges", "role": "writer"}' \
 https://api.example.com/users

4. ارسال درخواست PUT

همچنین برای ارسال درخواست PUT دستور زیر را اجرا کنید.

wget \
 --method=PUT \
 --header="Content-Type: application/json" \
 --body-data='{"role": "admin"}' \
 https://api.example.com/users/12

5. ارسال درخواست DELETE

برای درخواست DELETE فرمان زیر را در ترمینال وارد کنید.

wget --method=DELETE https://api.example.com/users/12

ساخت Droplet از طریق API

برای یادگیری بهتر شما مثال زیر را بررسی خواهیم کرد. در مثال زیر، یک Droplet جدید از طریق API سرویس ابری ایجاد خواهیم کرد:

wget \
 --method=POST \
 --header="Content-Type: application/json" \
 --header="Authorization: Bearer YOUR_TOKEN" \
 --body-data='{
   "name": "my-droplet",
   "region": "fra1",
   "size": "s-1vcpu-1gb",
   "image": "ubuntu-24-04-x64"
 }' \
 https://api.digitalocean.com/v2/droplets

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

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

برای مدیریت دانلود نیاز به دستوراتی خواهیم داشت تا روند دانلود را کامل و در بهینه‌سازی به ما کمک بسیار کند. لیارا در ادامه دستورات تکیملی را به شما ارائه خواهد داد تا بتوانید بدون هیچ‌گونه سختی و دردسری روند مدیریت دانلود خود را تکمیل کنید.

برای تنظیم تعداد تلاش‌ها در صورت بروز خطا

wget --tries=10 https://example.com/bigfile.iso
دستورهای تکمیلی برای مدیریت دانلود

برای تلاش نامحدود شبکه‌های بسیار ضعیف

wget --tries=0 https://example.com/bigfile.iso

برای تنظیم زمان انقضای اتصال (Timeout)

wget --timeout=30 https://example.com/file.zip

ادغام Wget با اسکریپت‌نویسی شل

به دلیل قابلیت اجرا در حالت غیرتعاملی، Wget گزینه‌ای مناسب برای اسکریپت‌نویسی خواهد بود.

به مثال زیر دقت کنید.

#!/bin/bash

DATE=$(date +%F)

wget -c --limit-rate=1m \
 https://example.com/backup.tar.gz \
 -O backup-$DATE.tar.gz

این اسکریپت، دانلود بکاپ را با محدودیت سرعت اجرا کرده و در صورت قطع شدن ارتباط، دانلود را ادامه می‌دهد.

جمع‌بندی

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

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

به اشتراک بگذارید

برچسب‌ها: