Yanıtlar:
Wget değil, ama bunu curl kullanarak kolayca yapabilirsiniz.
curl -I http://www.superuser.com/
Bu çıktıyı üretir:
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
eşittir --head
.
https
, -k
ya da--insecure
Deneyin:
wget -S --spider www.example.com
Bir dosyaya HTTP yanıtı yazmamak -O /dev/null
için de geçebilirsiniz wget
.
-S
başlıkları gösterecek , ancak bir GET
değil, bir yürütme yapacaktır HEAD
. Başka bir deyişle, URL'nin tamamını getirir.
wget -S --spider http://localhost
apache sunucusunda oluşturulan günlük:127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Kıvrılmaya gerek yok .
Wget ile ekleme --spider
, bir HEAD
istek göndermek istediğinizi belirtir (aksine GET
veya POST
).
Bir URL'nin yanıt verip vermediğini kontrol etmek için minimalist bir yöntemdir. Örneğin bunu komut dosyası denetimlerinde kullanabilirsiniz; HEAD
işlem ne ağa ne de hedef web sunucusuna herhangi bir yükleme yapmadığınızdan emin olmanızı sağlar.
Bonus bilgisi: Wget sunucudan sunucuya 500 HTTP hatası alırsa , aynı URL'ye karşı HEAD
bir performans göstermeye devam eder GET
. Bu tasarımın nedenini bilmiyorum. Bu, bir ikisini görebilirsiniz nedeni budur HEAD
ve bir GET
istek sunucuya karşı çalışmalar yapılmaktadır. Yanlış bir şey yoksa, sadece bir HEAD
istek gerçekleştirilir. --tries
Wget'ı yalnızca bir denemeyle sınırlandırma seçeneğiyle bu işlevi devre dışı bırakabilirsiniz .
Sonuç olarak, bir URL yanıt veriyorsa test etmek için bunu öneriyorum:
# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL 2>&1)
wget_exit_code=$?
if [ $wget_exit_code -ne 0 ]; then
# Something went wrong
echo "$URL is not responding"
echo "Output from wget: "
echo "$wget_output"
else
echo "Check succeeded: $URL is responding"
fi
wget -S
dosya alır:
İçerik Uzunluğu: 2316, Uzunluk: 2316 (2.3K) [text / plain], Tasarruf: `index.html '
wget --spider
başlık alır:
Örümcek modu etkin. Uzak dosyanın olup olmadığını kontrol edin., Uzunluk: belirtilmemiş [text / plain] Uzak dosya var.
Olmamasına rağmen wget
, modül perl
içeren birçok kurulumda yüklü lwp
bir HEAD
komut olacaktır .