Wget Ausgabedokument und Header zu STDOUT

114

Ich versuche, den Dokumentkörper und seine Überschriften so auszugeben, dass sie mit wget by standardisiert werden wget -S -O - http://google.com

Es wird jedoch nur ein HTML-Dokument angezeigt.

Vielen Dank

UPD:

Hat das geklappt wget --save-headers --output-document - http://google.com

wget --version zeigt GNU Wget 1.11.4 Red Hat geändert

user1239398
quelle
Ich habe gerade versucht, dass dies großartig funktioniert hat, aber es --save-headerswar tatsächlich-save-headers
Chris Rymer
und wget -qS <url>nur für http- Header (Gl. bis curl -IL)

Antworten:

165

Versuchen Sie Folgendes, keine zusätzlichen Header

wget -qO- www.google.com

Beachten Sie das Nachlaufen -. Dies ist Teil des normalen Befehlsarguments für -Odas Auslagern in eine Datei. Da wir jedoch nicht >zum Weiterleiten in eine Datei verwenden, wird es in die Shell ausgegeben. Sie können -qO-oder verwenden -qO -.

Joseph Lust
quelle
2
Was ist das Extra - nach dem O?
Codecowboy
1
@codecowboy Ich habe die Antwort verschönert, um den zusätzlichen Strich zu erklären.
Joseph Lust
3
Die -SOption wurde auf meinem alpineLinux-Container nicht unterstützt . Ich habe es weggelassen und alles war gut
Christian Bongiorno
1
Laut der GNU-Manpage "Wenn - als Datei verwendet wird, werden Dokumente in der Standardausgabe gedruckt, wodurch die Linkkonvertierung deaktiviert wird." Es ist klarer mit einem vorangestellten Leerzeichen geschrieben.
Josh Habdas
3
Diese Antwort macht keinen Sinn. OP bat darum, Header
anzuzeigen
45

wget -S -O - http://google.comfunktioniert für mich wie erwartet, aber mit einer Einschränkung: Die Header gelten als Debugging-Informationen und werden 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 -qOption unterdrückt den Fortschrittsbalken und einige andere störend gesprächige Teile der wgetAusgabe.

thkala
quelle
1
Die -SOption wurde auf meinem alpineLinux-Container nicht unterstützt . Ich habe es weggelassen und alles war gut
Christian Bongiorno
@ChristianBongiorno Sie können ein geeignetes Wget mit installieren apk add wget, andernfalls wird nur eine Busybox-Version verwendet.
AndreKR
21

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

BeniBela
quelle
7

Dies funktionierte für mich beim Drucken der Antwort mit Header:

wget --server-response http://www.example.com/
Abhishek saharn
quelle
1
Vielleicht möchten Sie --spiderarg hinzufügen . Diese nützliche Ursache lädt keinen Seiteninhalt herunter.
Antonio Feitosa
3

Dies 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
maniac_on_moon
quelle