Ich möchte den HTTP-Status der Websites mit Ubuntu erfahren. Ich habe zu diesem Zweck benutzt curl
und wget
befehle. Das Problem ist jedoch, dass diese Befehle die gesamte Webseite herunterladen und dann nach der Überschrift suchen und diese auf dem Bildschirm anzeigen. Beispielsweise:
$ curl -I trafficinviter.com
HTTP/1.1 200 OK
Date: Mon, 02 Jan 2017 14:13:14 GMT
Server: Apache
X-Pingback: http://trafficinviter.com/xmlrpc.php
Link: <http://trafficinviter.com/>; rel=shortlink
Set-Cookie: wpfront-notification-bar-landingpage=1
Content-Type: text/html; charset=UTF-8
Dasselbe passiert mit dem Wget
Befehl, bei dem die gesamte Seite heruntergeladen wird und unnötigerweise meine Bandbreite beansprucht.
Nach was ich suche, ist: wie man den HTTP-Statuscode erhält, ohne irgendeine Seite wirklich herunterzuladen, damit ich meinen Bandbreitenverbrauch speichern kann. Ich habe versucht, Curl zu verwenden, bin mir aber nicht sicher, ob ich eine vollständige Seite oder nur eine Kopfzeile auf mein System herunterlade, um den Statuscode zu erhalten.
quelle
curl -v
(--verbose
) ist eine praktische Möglichkeit, um zu debuggen, was Curl tatsächlich sendet und empfängt.Antworten:
curl -I
ruft nur die HTTP-Header ab; Es wird nicht die gesamte Seite heruntergeladen. Vonman curl
:Eine weitere Option ist die Installation
lynx
und Verwendunglynx -head -dump
.Die HEAD-Anforderung wird vom HTTP 1.1-Protokoll ( RFC 2616 ) angegeben:
quelle
Mit
wget
müssen Sie die--spider
Option verwenden , um eine HEAD-Anfrage wie curl zu senden:quelle