Saya menggunakan wget
program ini, tetapi saya ingin tidak menyimpan file html yang saya unduh. Saya ingin itu dibuang setelah diterima. Bagaimana aku melakukan itu?
Saya menggunakan wget
program ini, tetapi saya ingin tidak menyimpan file html yang saya unduh. Saya ingin itu dibuang setelah diterima. Bagaimana aku melakukan itu?
Jawaban:
Anda dapat mengarahkan output wget ke / dev / null (atau NUL di Windows):
wget http://www.example.com -O /dev/null
File tidak akan ditulis ke disk, tetapi akan diunduh.
Jika Anda tidak ingin menyimpan file, dan Anda telah menerima solusi mengunduh halaman /dev/null
, saya kira Anda menggunakan wget untuk tidak mendapatkan dan mem-parsing konten halaman .
Jika kebutuhan Anda yang sebenarnya adalah untuk memicu beberapa tindakan jarak jauh, periksa apakah halaman itu ada dan seterusnya saya pikir akan lebih baik untuk menghindari mengunduh halaman tubuh html sama sekali.
Mainkan dengan wget
opsi untuk mengambil hanya apa yang benar-benar Anda butuhkan, yaitu header http, status permintaan, dll.
dengan asumsi Anda perlu memeriksa halaman itu ok (yaitu, status yang dikembalikan adalah 200) Anda dapat melakukan hal berikut:
wget --no-cache --spider http://your.server.tld/your/page.html
jika Anda ingin mengurai server kembali header lakukan hal berikut:
wget --no-cache -S http://your.server.tld/your/page.html
Lihat halaman manual wget untuk opsi lebih lanjut untuk bermain.
Lihat lynx
juga, sebagai alternatif untuk wget.
--no-cache
di halaman manual mengatakan itu menyebabkan wget untuk "mengirim direktif remote server yang sesuai ('Pragma: no-cache') untuk mendapatkan file dari layanan remote"
$ wget http://www.somewebsite.com -O foo.html --delete-after
--delete-after
pilihan adalah pilihan ketika Anda harus men-download secara rekursif tetapi Anda ingin membuang konten yang sebenarnya.
-O /dev/null
Jika Anda juga ingin mencetak di konsol hasil yang dapat Anda lakukan:
wget -qO- http://www.example.com
q
mode khusus yang diam, (tidak menampilkan progres dan info lainnya), dan O-
(menulis dokumen yang diambil ke konsol).
Periksa opsi "-spider". Saya menggunakannya untuk memastikan situs web saya aktif dan mengirimi saya email jika tidak. Ini adalah entri khas dari crontab saya:
46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
Untuk kotak * NIX dan penggunaannya wget
, saya sarankan melompati penulisan ke file. Saya perhatikan pada kotak Ubuntu 10,04 saya yang wget -O /dev/null
menyebabkan wget untuk membatalkan unduhan setelah unduhan pertama.
Saya juga memperhatikan bahwa wget -O real-file
menyebabkan wget untuk melupakan tautan yang sebenarnya pada halaman. Itu bersikeras index.html
untuk hadir di setiap halaman. Halaman seperti itu mungkin tidak selalu ada dan wget tidak akan mengingat tautan yang telah dilihat sebelumnya.
mkdir /dev/shm/1
cd /dev/shm/1
wget --recursive --relative --no-parent ...
Perhatikan tidak ada -O file
opsi. wget akan menulis ke direktori $ PWD. Dalam hal ini, itu adalah sistem file tmpfs RAM saja . Menulis di sini harus memintas churn disk (tergantung ruang swap) DAN melacak semua tautan. Ini harus merayapi seluruh situs web dengan sukses.
Setelah itu tentu saja
rm --recursive --force /dev/shm/1/*
Gunakan opsi --delete-after, yang menghapus file setelah diunduh.
Sunting: Ups, saya baru tahu bahwa sudah dijawab.
Menurut doc bantuan (wget -h), Anda dapat menggunakan opsi --spider untuk melewati unduhan (versi 1.14).
Download:
-S, --server-response print server response.
--spider don't download anything.
/dev/null
masalahnya berfungsi?