Saya ingin mengirim HTTP HEAD
permintaan menggunakan wget
. Apa itu mungkin?
52
Ini bukan wget, tetapi Anda bisa melakukannya dengan mudah dengan menggunakan ikal.
curl -I http://www.superuser.com/
Menghasilkan output ini:
HTTP/1.1 301 Moved Permanently
Content-Length: 144
Content-Type: text/html; charset=UTF-8
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT
-I
setara dengan--head
.https
, Anda juga dapat menambahkan-k
atau--insecure
Mencoba:
Anda juga dapat meneruskan
-O /dev/null
untuk mencegahwget
dari menulis tanggapan HTTP ke file.sumber
-S
akan menampilkan header, tetapi mengeksekusi aGET
, bukan aHEAD
. Dengan kata lain, itu akan mengambil seluruh URL.wget -S --spider http://localhost
log yang dibuat di server apache adalah127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Tidak perlu ada ikal .
Dengan Wget, menambahkan
--spider
berarti Anda ingin mengirimHEAD
permintaan (sebagai lawanGET
atauPOST
).Ini adalah cara minimalis yang bagus untuk memeriksa apakah URL merespons atau tidak. Misalnya Anda dapat menggunakan ini dalam pemeriksaan tertulis, dan
HEAD
operasi akan memastikan Anda tidak memasukkan beban apa pun pada jaringan maupun server web target.Informasi bonus: Jika Wget mendapat kesalahan HTTP 500 dari server ketika melakukan
HEAD
itu maka akan pindah untuk melakukanGET
terhadap URL yang sama. Saya tidak tahu alasan untuk desain ini. Ini adalah alasan mengapa Anda mungkin melihat keduaHEAD
dan sebuahGET
permintaan yang dilakukan terhadap server. Jika tidak ada yang salah maka hanyaHEAD
permintaan yang dilakukan. Anda dapat menonaktifkan fungsi ini dengan--tries
opsi untuk membatasi Wget hanya untuk satu upaya.Secara keseluruhan, saya merekomendasikan ini untuk pengujian jika URL merespons:
sumber
wget -S
mendapat file:wget --spider
mendapat tajuk:sumber
Meskipun tidak
wget
, banyakperl
pemasangan denganlwp
modul akan memilikiHEAD
perintah yang diinstal.sumber