2012-08-25 12 views
52

Estoy intentando cuerpo del documento de salida y sus cabeceras en la salida estándar con wget por wget -S -O - http://google.comdocumento de salida Wget y las cabeceras en STDOUT

pero muestra solamente docment html.

Gracias

UPD:

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

wget --version muestra GNU Wget 1.11.4 Red Hat modificado

Respuesta

13

Funciona aquí:

$ 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 usted necesita para actualizar tu wget (~$ wget --version GNU Wget 1.14 built on linux-gnu.)

33

wget -S -O - http://google.com funciona como se espera para mí, pero con una advertencia: se consideran los encabezados de información de depuración y, como tales, son enviados a la error estándar en lugar de la salida estándar. Si está redirigiendo el resultado 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 opción -q suprime la barra de progreso y algunas otras partes molesto hablador de la salida wget.

+0

Gracias por señalar el tema stderr , y la bandera -q. –

+0

la opción '-S' no era compatible con mi contenedor linux' alpine'. Lo omití y todo fue bueno –

76

intente lo siguiente, no hay cabeceras extra

wget -qO- www.google.com 

Nota del arrastre -. Esto es parte del argumento del comando normal para -O para obtener un archivo, pero como no usamos > para dirigirlo a un archivo, este se va al shell. Puede usar -qO- o -qO -.

+1

¿cuál es el extra después del O? – codecowboy

+1

@codecowboy Embellecí la respuesta para explicar el guión extra. –

+2

la opción '-S' no era compatible con mi contenedor linux' alpine'. Lo omití y todo fue bueno –

0

Esto no funcionará:

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

desde redirecciones se evalúan de derecha a izquierda, esto envía html en wget.txt y la cabecera a STDOUT:

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