149 votes

Wget sort le document et les en-têtes vers STDOUT

J'essaie d'envoyer le corps du document et ses en-têtes vers STDOUT en faisant ce qui suit

wget -S -O - http://google.com

...mais il ne montre que le document HTML.

Mise à jour : J'ai réussi à le faire fonctionner

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

wget --version montre que ma version est GNU Wget 1.11.4 Red Hat modified .

185voto

Joseph Lust Points 4961

Essayez ce qui suit

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

Notez la queue - . Cela fait partie de l'argument de commande normal pour -O pour le transfert vers un fichier, mais comme nous n'utilisons pas de > pour diriger vers un fichier, il sort vers le shell. Vous pouvez utiliser -qO- o -qO - .

54voto

thkala Points 36148

wget -S -O - http://google.com fonctionne comme prévu pour moi, mais avec un avertissement : les en-têtes sont considérés comme des informations de débogage et, en tant que tels, ils sont envoyés à l'utilisateur de l'application erreur standard plutôt que 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

El -q supprime la barre de progression et d'autres parties bavardes de l'écran. wget sortie.

27voto

BeniBela Points 6863

Ça marche 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 ...

Vous devez peut-être mettre à jour votre wget ( ~$ wget --version GNU Wget 1.14 built on linux-gnu. )

14voto

Abhishek saharn Points 613

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

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

6voto

maniac_on_moon Points 11

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 le html à wget.txt et l'en-tête à STDOUT :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X