Wget
GNU Wget (یا فقط Wget) برنامه‌ای رایانه‌ای است برای دریافت محتویات از ""کارسازهای وب و بخشی از پروژهٔ گنو است. نام این نرم‌افزار از World Wide Web" و get" مشتق شده‌است که به کار اصلی این برنامه اشاره دارد. این برنامه از دانلود توسط پروتکلهای HTTP، HTTPS و FTP که پروتکل‌های متداولی در شبکه‌های مبتنی بر TCP/IP هستند پشتیبانی می‌کند.
ویژگی‌های این نرم‌افزار دانلود بازگشتی (تودرتو)، تبدیل ابرپیوندها برای مشاهدهٔ آفلاین پرونده‌های HTML، پشتیبانی از کارساز پراکسی و خیلی امکانات دیگر است.
Wget با زبان قابل حمل C نوشته شده‌است و به راحتی در سیستم‌های شبه یونیکس نصب می‌شود و برای محیط‌های کاری مختلفی همچون مک اواس، مایکروسافت ویندوز پورت شده‌است.
Wget به عنوان پایه برای برنامه‌های گرافیکی‌ای مانند GWget برای میزکار گنوم استفاده می‌شود.
wget از برنامه جلوتری به نام گت یو آر ال(Geturl) توسط نویسنده یکسان نوشته شد. توسعه‌ای که در ۱۹۹۵ آغاز شد. نام آن زمانی به Wget تغییر یافت که نویسنده متوجه شد یک برنامه جلوتر در آمیگا(Amiga) به نام GetURL، نوشته جیمز بورتون با زبان برنامه نویسی (AREXX) وجود دارد.
Wget یک شکاف در نرم‌افزار دانلود اینترنتی را در میانه دهه ۱۹۹۰ پر کرد. هیچ برنامهٔ قابل‌ اعتمادی برای دریافت فایل از HTTP و FTP نبود. برنامه‌های موجود یا فقط از FTP پشتیبانی می‌کردند (مانند NCFTP و dl) یا به زبان پرل نوشته شده‌ بودند، که هنوز همه‌جا فراهم نبود. درحالی که Wget از ویژگی‌های برخی برنامه‌های موجود الهام گرفته‌ بود، پشتیبانی از HTTP و FTP و امکان ساخت آن توسط کاربر با تنها ابزارهای توسعه استاندارد بر روی هر نوع سیستم مبتنی بر یونیکس را هدف گرفته‌ بود.
در آن زمان بسیاری از کاربران یونیکس، از قرارگیری پشت اتصالات اینترنت شدیداً کُند دانشگاه و دیال‌آپ در تکاپو بودند، و نیاز به یک ابزار دانلود که بتواند با خطاهای تغییرات شبکه‌ای بدون نیاز به همکاری دستی انسان کنار بیاید افزایش یافته‌ بود.
Wget عملکرد هوشمندانه‌ای در شبکه‌هایی که سرعت پایینی دارند یا ناپایدارند دارد. اگر به دلیل مشکل شبکه، دریافت به‌طور کامل به اتمام نرسد، Wget به‌طور اتوماتیک دریافت فایل را از جایی که ارتباط قطع شده بود ادامه می‌دهد و تا جایی که فایل به‌طور کامل دریافت شود این عمل را تکرار می‌کند. Wget از اولین کلاینتهایی است که از هدر Range در پروتکل HTTP استفاده می‌کند.
Wget می‌تواند مانند یک خزندهٔ وب عمل کند و با استخراج منابعی که پیوندهای آنان در صفحات اچ‌تی‌ام‌ال موجود است آنان را به صورت متوالی دانلود کند و اینکار را تا زمانی که تمام صفحات دانلود شوند یا به عمق نفوذی که کاربر تعیین کرده‌ است برسد انجام می‌دهد. صفحات دانلود شده در دایرکتوریهایی همانند سرور راه دور ذخیره می‌شوند. این نوع دانلود بازگشتی این امکان را می‌دهد که بتوان توسط پروتکل HTTP یک وب‌گاه را Mirror کرد. همچنین Wget این قابلیت را دارد که پیوندهای موجود در صفحات اچ‌تی‌ام‌ال را برای مرور آفلاین آن‌ها تنظیم کند. هنگامی که از این روش برای Mirror کردن وب‌گاه‌ها استفاده می‌شود، Wget از استاندارد استثناء کردن ربات‌ها پیروی می‌کند (مگر اینکه خود شما صراحتاً این حالت را غیرفعال کنید codice_1)
دانلود بازگشتی برای پروتکل FTP نیز به خوبی کار می‌کند. به‌طوری‌ که Wget از فرمان codice_2 برای پیدا کردن فایل‌هایی که باید دانلود شوند استفاده می‌کند و اینکار را برای تمام دایرکتوری‌های موجود در زیر دایرکتوری اصلی که در URL تعیین شده‌ است انجام می‌دهد.
وقتی که از امکان دانلود بازگشتی استفاده شود، Wget می‌تواند با بازرسی اختلاف زمانی فایل‌های محلی و راه دور، فقط فایل‌هایی را از سرور دریافت کند که جدیدتر از نسخهٔ محلی هستند. اما این قابلیت Wget مستعد اشتباه است و قابل مقایسه با نرم‌افزارهایی که اختصاصاً برای پشتیبان‌گیری ساخته شده‌اند نیست. (مانند rsync)
Wget می‌تواند بدون تعامل داشتن با کاربر یا چاپ وضعیت خود در یک دستگاه خروجی به کار خود ادامه دهد و می‌تواند وضعیت عملکرد خود را در فایل جداگانه‌ای ذخیره نماید. این قابلیت به کاربر این امکان را می‌دهد که Wget را اجرا کند و سپس از سیستم خارج (Logout) شود. در مقابل اکثر مرورگرهای گرافیکی یا متنی صفحات وب که نیاز دارند کاربر وارد سیستم بماند و در صورت بروز خطا در دریافت فایل‌ها به صورت دستی آن‌ها را از اول بکار بیندازد.
Wget به زبان قابل حمل C نوشته شده‌ است و نیاز آن به کتابخانه‌های پیش‌نیاز به حداقل رسانده شده‌ است. مانند یک برنامهٔ تحت یونیکس از خط فرمان فراخوانده می‌شود و به تعدادی از محیط‌های شبه‌یونیکس پورت شده‌است، از جمله مایکروسافت ویندوز بواسطهٔ Cygwin و Mac OS X.GWget یک واسط گرافیکی کاربر(GUI) برای Wget و بخشی از پروژه گنوم است، GWget تمام ویژگی‌های اصلی Wget به علاوهٔ دانلود موازی را پشتیبانی می‌کند.
بطور ساده GNU Wget توسط واسط خط فرمان و با دادن یک URL به آن قابل استفاده است:
wget http://www.example.com/
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz همچنین می‌توان Wget را برای دانلود فرمت‌های خاصی از ساختار دایرکتوری یک وب‌سایت استفاده کرد:
wget -e robots=off -r -l1 --no-parent -A.gif http://www.server.com/dir/ دانلود صفحهٔ اول یک وبسایت به همراه تمام نیازمندی‌های آن مانند تصاویر و فایل‌های Style Sheet و تبدیل لینک‌های آن برای مشاهدهٔ آفلاین:
wget -p -k http://www.example.com/ دانلود کامل یک وبسایت:
wget -r -l 0 http://www.example.com/ دانلود در یک نشانی مشخص:
wget -O /home/User/folder/foo2.txt http://www.example.com/foo.txt