Wget adalah utilitas gratis untuk mengunduh file dari web. Itu mendapat data dari Internet dan menyimpannya ke file atau menampilkannya di terminal Anda. Ini secara harfiah juga apa yang dilakukan browser web, seperti Firefox atau Chromium, kecuali secara default, mereka render informasi dalam jendela grafis dan biasanya mengharuskan pengguna untuk secara aktif mengendalikannya. wget
utilitas dirancang untuk menjadi non-interaktif, artinya Anda dapat membuat skrip atau menjadwalkan wget
untuk mengunduh file baik Anda menggunakan komputer atau tidak.
Unduh file dengan wget
Anda dapat mengunduh file dengan wget
dengan memberikan tautan ke URL tertentu. Jika Anda memberikan URL default ke index.html
, maka halaman indeks akan diunduh. Secara default, file diunduh ke dalam file dengan nama yang sama di direktori kerja Anda saat ini.
$ wget http://example.com
--2021-09-20 17:23:47-- http://example.com/
Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
Connecting to example.com|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1256 (1.2K) [text/html]
Saving to: 'index.html'
Anda dapat membuat wget
kirim data ke standar keluar (stdout
) sebagai gantinya dengan menggunakan --output-document
dengan tanda hubung -
karakter:
$ wget http://example.com --output-document - | head -n4
<!doctype html>
<html>
<head>
<title>Example Domain</title>
Anda dapat menggunakan --output-document
opsi (-O
singkatnya) untuk memberi nama unduhan Anda apa pun yang Anda inginkan:
$ wget http://example.com --output-document foo.html
Lanjutkan unduhan sebagian
Jika Anda mengunduh file yang sangat besar, Anda mungkin harus menghentikan pengunduhan. Dengan --continue
(-c
singkatnya), wget
dapat menentukan di mana unduhan berhenti dan melanjutkan transfer file. Artinya, lain kali Anda mengunduh ISO distribusi Linux 4 GB, Anda tidak perlu kembali ke awal ketika terjadi kesalahan.
$ wget --continue https://example.com/linux-distro.iso
Unduh urutan file
Jika bukan satu file besar tetapi beberapa file yang perlu Anda unduh, wget
dapat membantu Anda dengan itu. Dengan asumsi Anda mengetahui lokasi dan pola nama file dari file yang ingin Anda unduh, Anda dapat menggunakan sintaks Bash untuk menentukan titik awal dan akhir antara rentang bilangan bulat untuk mewakili urutan nama file:
$ wget http://example.com/file_{1..4}.webp
Cerminkan seluruh situs
Anda dapat mengunduh seluruh situs, termasuk struktur direktorinya, menggunakan --mirror
pilihan. Opsi ini sama dengan menjalankan --recursive --level inf --timestamping --no-remove-listing
, yang berarti rekursif tanpa batas, jadi Anda mendapatkan semua yang ada di domain yang Anda tentukan. Bergantung pada usia situs web, itu bisa berarti Anda mendapatkan lebih banyak konten daripada yang Anda sadari.
Jika Anda menggunakan wget
untuk mengarsipkan situs, maka opsi --no-cookies --page-requisites --convert-links
juga berguna untuk memastikan bahwa setiap halaman segar, lengkap, dan salinan situs kurang lebih mandiri.
Ubah header HTML
Protokol yang digunakan untuk pertukaran data memiliki banyak metadata yang tertanam dalam paket yang dikirim komputer untuk berkomunikasi. Header HTTP adalah komponen dari bagian awal data. Saat Anda menelusuri situs web, browser Anda mengirimkan header permintaan HTTP. Gunakan --debug
opsi untuk melihat informasi header apa wget
mengirim dengan setiap permintaan:
$ wget --debug example.com
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: example.com
Connection: Keep-Alive
---request end---
Anda dapat mengubah header permintaan Anda dengan --header
pilihan. Misalnya, terkadang berguna untuk meniru browser tertentu, baik untuk pengujian atau untuk memperhitungkan situs berkode buruk yang hanya berfungsi dengan benar untuk agen pengguna tertentu.
Untuk mengidentifikasi sebagai Microsoft Edge yang berjalan di Windows:
$ wget --debug --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59" http://example.com
Anda juga dapat menyamar sebagai perangkat seluler tertentu:
$ wget --debug \
--header="User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1" \
http://example.com
Melihat header respons
Dengan cara yang sama informasi header dikirim dengan permintaan browser, informasi header juga disertakan dalam tanggapan. Anda dapat melihat header respons dengan --debug
pilihan:
$ wget --debug example.com
[...]
---response begin---
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 188102
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "3147526947"
Server: ECS (sab/574F)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256
---response end---
200 OK
Registered socket 3 for persistent reuse.
URI content encoding = 'UTF-8'
Length: 1256 (1.2K) [text/html]
Saving to: 'index.html'
Menanggapi 301 tanggapan
Kode respons 200 berarti semuanya telah berfungsi seperti yang diharapkan. Respons 301, di sisi lain, berarti bahwa URL telah dipindahkan secara permanen ke lokasi yang berbeda. Ini adalah cara umum bagi admin situs web untuk memindahkan konten sambil meninggalkan "jejak" sehingga orang yang mengunjungi lokasi lama masih dapat menemukannya. Secara default, wget
mengikuti pengalihan, dan mungkin itulah yang biasanya Anda inginkan.
Namun, Anda dapat mengontrol apa wget
lakukan ketika menemukan respons 301 dengan --max-redirect
pilihan. Anda dapat mengaturnya ke 0
untuk tidak mengikuti pengalihan:
$ wget --max-redirect 0 http://iana.org
--2021-09-21 11:01:35-- http://iana.org/
Resolving iana.org... 192.0.43.8, 2001:500:88:200::8
Connecting to iana.org|192.0.43.8|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.iana.org/ [following]
0 redirections exceeded.
Sebagai alternatif, Anda dapat mengaturnya ke beberapa nomor lain untuk mengontrol berapa banyak pengalihan wget
berikut.
Perluas URL yang dipersingkat
--max-redirect
option berguna untuk melihat URL yang dipersingkat sebelum benar-benar mengunjunginya. URL yang dipersingkat dapat berguna untuk media cetak, di mana pengguna tidak bisa hanya menyalin dan menempelkan URL yang panjang, atau di jejaring sosial dengan batas karakter (ini tidak menjadi masalah di jejaring sosial modern dan open source seperti Mastodon ). Namun, mereka juga bisa sedikit berbahaya karena tujuan mereka pada dasarnya tersembunyi. Dengan menggabungkan --head
opsi untuk hanya melihat header HTTP, dan --location
opsi untuk mengungkap tujuan akhir URL, Anda dapat mengintip ke URL yang dipersingkat tanpa memuat sumber daya lengkap:
$ wget --max-redirect 0 "https://bit.ly/2yDyS4T"
--2021-09-21 11:32:04-- https://bit.ly/2yDyS4T
Resolving bit.ly... 67.199.248.10, 67.199.248.11
Connecting to bit.ly|67.199.248.10|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://example.com/ [following]
0 redirections exceeded.
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Baris keluaran kedua dari belakang, dimulai dengan Location , mengungkapkan tujuan yang dimaksud.
Gunakan wget
Setelah Anda berlatih memikirkan proses menjelajahi web sebagai satu perintah, wget
menjadi cara cepat dan efisien untuk menarik informasi yang Anda butuhkan dari Internet tanpa mengganggu antarmuka grafis. Untuk membantu Anda membangunnya ke dalam alur kerja biasa, kami telah membuat lembar contekan dengan wget
umum penggunaan dan sintaksis, termasuk ikhtisar penggunaannya untuk mengkueri API. Unduh wget
Linux lembar contekan di sini.