2012-08-25 5 views
52

Ich versuche zu Ausgabedokument Körper und seine Header mit wget nach stdout von wget -S -O - http://google.comWget Ausgabedokument und Header zu STDOUT

aber es zeigt nur html docment.

Dank

UPD:

Arbeitete diese wget --save-headers --output-document - http://google.com

wget --version zeigt GNU Wget 1.11.4 Red Hat

modifizierte

Antwort

13

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 Sie brauchen um dein wget zu aktualisieren (~$ wget --version GNU Wget 1.14 built on linux-gnu.)

33

wget -S -O - http://google.com Werke wie für mich erwartet, aber mit einem Vorbehalt: Die Header werden Debug-Informationen betrachtet und als solche werden sie den Standardfehler gesendet eher als die Standardausgabe. Wenn Sie die Standardausgabe in eine Datei oder einen anderen Prozess umleiten, erhalten Sie nur den Inhalt des Dokuments.

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, um die Fortschrittsbalken und einige anderen annoyingly gesprächig Teile der wget Ausgabe unterdrückt.

+0

Vielen Dank für die stderr Ausgabe unter Hinweis darauf, und das -q-Flag. –

+0

die '-S' Option wurde nicht auf meinem' alpine' Linux Container unterstützt. Ich habe es weggelassen und alles war gut –

76

Versuchen Sie, die folgenden, keine Extra Header

wget -qO- www.google.com 

Hinweis die Hinter -. Dies ist Teil des normalen Befehlsarguments für -O, um eine Datei zu cat out, aber da wir > nicht verwenden, um in eine Datei zu verweisen, geht es an die Shell. Sie können -qO- oder -qO - verwenden.

+1

Was ist das Extra - nach dem O? – codecowboy

+1

@codecowboy Ich verschönerte die Antwort, um den zusätzlichen Strich zu erklären. –

+2

die '-S' Option wurde nicht auf meinem' alpine' Linux Container unterstützt. Ich habe es weggelassen und alles war gut –

0

Das wird nicht funktionieren:

wget -q -S -O - google.com 1>wget.txt 2>&1 

seit Umleitungen ausgewertet rechts nach links, sendet diese html und den Header zu STDOUT wget.txt:

wget -q -S -O - google.com 2>&1 1>wget.txt