Wget documento de salida y encabezados a STDOUT

116

Estoy tratando de enviar el cuerpo del documento y sus encabezados a la salida estándar con wget by wget -S -O - http://google.com

pero solo muestra documentación html.

Gracias

UPD:

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

wget --version muestra GNU Wget 1.11.4 Red Hat modificado

usuario1239398
fuente
Acabo de intentar esto funcionó muy bien, pero --save-headersera en realidad-save-headers
Chris Rymer
y wget -qS <url>solo para encabezados http (eq. a )curl -IL

Respuestas:

167

Pruebe lo siguiente, sin encabezados adicionales

wget -qO- www.google.com

Tenga en cuenta el final -. Esto es parte del argumento de comando normal para -Osalir a un archivo, pero como no usamos >para dirigir a un archivo, sale al shell. Puede usar -qO-o -qO -.

Joseph Lust
fuente
2
¿Cuál es el extra - después de la O?
codecowboy
1
@codecowboy embellecí la respuesta para explicar el guión adicional.
Joseph Lust
3
la -Sopción no era compatible con mi alpinecontenedor de Linux. Lo omití y todo estuvo bien
Christian Bongiorno
1
De acuerdo con la página de manual de GNU "Si - se usa como archivo, los documentos se imprimirán en la salida estándar, deshabilitando la conversión de enlaces". Está escrito más claramente con un espacio en blanco anterior.
Josh Habdas
4
Esta respuesta no tiene ningún sentido. OP pidió mostrar encabezados, no ocultarlos
aexl
45

wget -S -O - http://google.comfunciona como se esperaba para mí, pero con una advertencia: los encabezados se consideran información de depuración y, como tales, se envían al error estándar en lugar de la salida estándar. Si está redirigiendo la salida estándar a un archivo u otro proceso, solo obtendrá el contenido del documento.

Puede intentar redirigir el error estándar a la salida estándar como posible solución. Por ejemplo, en bash:

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

o

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

La -qopción suprime la barra de progreso y algunas otras partes molestas del wgetresultado.

thkala
fuente
1
la -Sopción no era compatible con mi alpinecontenedor de Linux. Lo omití y todo estuvo bien
Christian Bongiorno
@ChristianBongiorno Puede instalar un wget adecuado con apk add wget, de lo contrario, solo se usa una versión de busybox.
AndreKR
22

Funciona aqui:

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

tal vez necesite actualizar su wget ( ~$ wget --version GNU Wget 1.14 built on linux-gnu.)

BeniBela
fuente
7

Esto funcionó para mí para imprimir la respuesta con el encabezado:

wget --server-response http://www.example.com/
Abhishek saharn
fuente
1
Es posible que desee agregar --spiderarg. Esta útil causa no descarga ningún contenido de la página.
Antonio Feitosa
3

Esto no funcionará:

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

dado que las redirecciones se evalúan de derecha a izquierda, esto envía html a wget.txt y el encabezado a STDOUT:

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