2012-08-25 13 views
52

Próbuję treści dokumentu i jego wyjście na stdout z nagłówkami wget przez wget -S -O - http://google.comWget dokument wyjściowy i nagłówki do STDOUT

ale pokazuje tylko HTML docment.

Dzięki

UPD:

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

wget --version pokazuje GNU Wget 1.11.4 Red Hat zmodyfikowany

Odpowiedz

13

Działa tutaj:

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

może trzeba zaktualizować twój wget (~$ wget --version GNU Wget 1.14 built on linux-gnu.)

33

wget -S -O - http://google.com działa zgodnie z oczekiwaniami dla mnie, ale z zastrzeżeniem: nagłówki są uważane za informacje debugowania i jako takie są one wysyłane do błędu standardowego zamiast standardowego wyjścia. Jeśli przekierowujesz standardowe wyjście do pliku lub innego procesu, otrzymasz tylko zawartość dokumentu.

Możesz spróbować przekierować standardowy błąd na standardowe wyjście jako możliwe rozwiązanie. Na przykład, w bash:

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

lub

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

Opcja -q tłumi pasek postępu i kilka innych irytująco gadatliwy części wyjściu wget.

+0

Dzięki za wskazanie problemu stderr i flaga -q. –

+0

Opcja '-S' nie była obsługiwana w moim' alpine' kontenerze linux. Pominąłem to i wszystko było dobrze –

76

spróbuj wykonać następujące czynności, bez dodatkowych nagłówków

wget -qO- www.google.com 

Uwaga tylna -. Jest to część normalnego argumentu polecenia dla -O, który przekieruje do pliku, ale ponieważ nie używamy > do kierowania do pliku, wychodzi on do powłoki. Możesz użyć -qO- lub -qO -.

+1

co jest ekstra - po O? – codecowboy

+1

@ codecowboy Udekorowałem odpowiedź, aby wyjaśnić dodatkową kreskę. –

+2

Opcja '-S' nie była obsługiwana w moim' alpine' kontenerze linux. Pominąłem to i wszystko było dobrze –

0

To nie zadziała:

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

od przekierowania oceniane są od prawej do lewej, to wysyła html do wget.txt i nagłówek do STDOUT:

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