Document de sortie Wget et en-têtes vers STDOUT


116

J'essaie de sortir le corps du document et ses en-têtes sur stdout avec wget par wget -S -O - http://google.com

mais il ne montre que des documents html.

Merci

UPD:

A travaillé cela wget --save-headers --output-document - http://google.com

wget --version montre GNU Wget 1.11.4 Red Hat modifié


Je viens d'essayer cela a très bien fonctionné mais --save-headersétait en fait-save-headers
Chris Rymer

et wget -qS <url>pour seulement les en- têtes http (eq. to )curl -IL

Réponses:


167

Essayez ce qui suit, sans en-têtes supplémentaires

wget -qO- www.google.com

Notez la fin -. Cela fait partie de l'argument de commande normal pour -Oaccéder à un fichier, mais comme nous n'utilisons pas >pour diriger vers un fichier, il sort vers le shell. Vous pouvez utiliser -qO-ou -qO -.


2
quel est le supplément - après le O?
codecowboy

1
@codecowboy J'ai embelli la réponse pour expliquer le tiret supplémentaire.
Joseph Lust

3
l' -Soption n'était pas prise en charge sur mon alpineconteneur Linux. Je l'ai omis et tout allait bien
Christian Bongiorno

1
Selon la page de manuel GNU «Si - est utilisé comme fichier, les documents seront imprimés sur la sortie standard, ce qui désactivera la conversion de lien.» Il est plus clairement écrit avec un espace blanc précédent.
Josh Habdas

4
Cette réponse n'a aucun sens. OP a demandé d'afficher les en-têtes, pas de les cacher
aexl

45

wget -S -O - http://google.comfonctionne comme prévu pour moi, mais avec une mise en garde: les en-têtes sont considérés comme des informations de débogage et en tant que tels, ils sont envoyés à l' erreur standard plutôt qu'à la sortie standard. Si vous redirigez la sortie standard vers un fichier ou un autre processus, vous n'obtiendrez que le contenu du document.

Vous pouvez essayer de rediriger l'erreur standard vers la sortie standard comme solution possible. Par exemple, dans bash:

$ wget -q -S -O - 2>&1 | grep ...

ou

$ wget -q -S -O - 1>wget.txt 2>&1

L' -qoption supprime la barre de progression et certaines autres parties ennuyeuses et bavardes de la wgetsortie.


1
l' -Soption n'était pas prise en charge sur mon alpineconteneur Linux. Je l'ai omis et tout allait bien
Christian Bongiorno

@ChristianBongiorno Vous pouvez installer un wget approprié avec apk add wget, sinon seule une version busybox est utilisée.
AndreKR

22

Cela fonctionne ici:

    $ 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 ...

peut-être avez-vous besoin de mettre à jour votre wget ( ~$ wget --version GNU Wget 1.14 built on linux-gnu.)


7

Cela a fonctionné pour moi pour l'impression de la réponse avec l'en-tête:

wget --server-response http://www.example.com/

1
Vous voudrez peut-être ajouter --spiderarg. Cette cause utile ne télécharge aucun contenu de page.
Antonio Feitosa

3

Cela ne fonctionnera pas:

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

puisque les redirections sont évaluées de droite à gauche, cela envoie du code HTML à wget.txt et l'en-tête à STDOUT:

wget -q -S -O - google.com 2>&1 1>wget.txt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.