Ich versuche, den Dokumentenkörper und dessen Header mit wget -S -O - http://google.com
in stdout auszugeben
aber es zeigt nur HTML-Dokument.
Vielen Dank
UPD:
Hat diesen wget --save-headers --output-document - http://google.com
bearbeitet
wget --version
zeigt GNU Wget 1.11.4 Red Hat geändert
Versuchen Sie Folgendes, keine zusätzlichen Header
wget -qO- www.google.com
Beachten Sie den nachfolgenden -
. Dies ist Teil des normalen Befehlsarguments für -O
, um zu einer Datei zu gelangen. Da wir jedoch >
nicht verwenden, um zu einer Datei zu leiten, wird es an die Shell ausgegeben. Sie können -qO-
oder -qO -
verwenden.
wget -S -O - http://google.com
funktioniert für mich wie erwartet, aber mit einem Vorbehalt: Die Header werden als Debugging-Informationen betrachtet und als solche an den Standardfehler und nicht an die Standardausgabe gesendet. Wenn Sie die Standardausgabe in eine Datei oder einen anderen Prozess umleiten, erhalten Sie nur den Dokumentinhalt.
Sie können versuchen, den Standardfehler als mögliche Lösung auf die Standardausgabe umzuleiten. Zum Beispiel in bash
:
$ wget -q -S -O - 2>&1 | grep ...
oder
$ wget -q -S -O - 1>wget.txt 2>&1
Die -q
-Option unterdrückt den Fortschrittsbalken und einige andere nervtötende Teile der wget
-Ausgabe.
Es funktioniert hier:
$ wget -S -O - http://google.com
HTTP request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 25 Aug 2012 10:15:38 GMT
Expires: Mon, 24 Sep 2012 10:15:38 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Location: http://www.google.com/ [following]
--2012-08-25 12:20:29-- http://www.google.com/
Resolving www.google.com (www.google.com)... 173.194.69.99, 173.194.69.104, 173.194.69.106, ...
...skipped a few more redirections ...
[<=> ] 0 --.-K/s
<!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta itemprop="image" content="/images/google_favicon_128.png"><ti
... skipped ...
vielleicht müssen Sie Ihr Wget (~$ wget --version
GNU Wget 1.14 built on linux-gnu.
) aktualisieren.
Das wird nicht funktionieren:
wget -q -S -O - google.com 1>wget.txt 2>&1
da Weiterleitungen von rechts nach links ausgewertet werden, wird html an wget.txt und der Header an STDOUT gesendet:
wget -q -S -O - google.com 2>&1 1>wget.txt
Dies funktionierte für mich beim Drucken der Antwort mit Header:
wget --server-response http://www.example.com/