Wget çıktı belgesi ve STDOUT başlıkları


116

Belge gövdesini ve başlıklarını wget ile standart olarak çıktılamaya çalışıyorum: wget -S -O - http://google.com

ancak yalnızca html belgesini gösterir.

Teşekkürler

UPD:

Bunu çalıştı wget --save-headers --output-document - http://google.com

wget --version GNU Wget 1.11.4 Red Hat'in değiştirildiğini gösterir


Bunu denedim harika çalıştı ama --save-headersaslında-save-headers
Chris Rymer

ve wget -qS <url>sadece http başlıkları için (eq. to curl -IL)

Yanıtlar:


168

Aşağıdakileri deneyin, fazladan başlık yok

wget -qO- www.google.com

Sonu not edin -. Bu, -Obir dosyaya cat out yapmak için normal komut argümanının bir parçasıdır , ancak >bir dosyaya yönlendirmek için kullanmadığımız için, kabuğa gider. Sen kullanabilir -qO-ya -qO -.


2
ekstra nedir - O'dan sonra?
codecowboy

1
@codecowboy Ekstra çizgiyi açıklamak için cevabı süsledim.
Joseph Lust

3
-Sseçenek benim desteklenmemektedir edildi alpinelinux konteyner. Bunu atladım ve her şey iyiydi
Christian Bongiorno

1
GNU kılavuz sayfasına göre "Eğer - dosya olarak kullanılırsa, belgeler standart çıktıya yazdırılacak ve bağlantı dönüştürme devre dışı bırakılacaktır." Önünde bir boşlukla daha açık bir şekilde yazılır.
Josh Habdas

4
Bu cevap hiç mantıklı değil. OP, başlıkları gizlememesini istedi
aexl

45

wget -S -O - http://google.combenim için beklendiği gibi çalışıyor, ancak bir uyarı ile: başlıklar hata ayıklama bilgisi olarak kabul edilir ve bu nedenle standart çıktı yerine standart hataya gönderilir . Standart çıktıyı bir dosyaya veya başka bir işleme yeniden yönlendiriyorsanız, yalnızca belge içeriğini alırsınız.

Olası bir çözüm olarak standart hatayı standart çıktıya yeniden yönlendirmeyi deneyebilirsiniz. Örneğin, içinde bash:

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

veya

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

-qOpsiyon ilerleme çubuğu ve diğer bazı rahatsız edici konuşkan parçaları bastırır wgetçıktı.


1
-Sseçenek benim desteklenmemektedir edildi alpinelinux konteyner. Bunu atladım ve her şey iyiydi
Christian Bongiorno

@ChristianBongiorno ile uygun bir wget kurabilirsiniz apk add wget, aksi takdirde sadece bir busybox sürümü kullanılır.
AndreKR

22

Burada çalışıyor:

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

belki wget'inizi güncellemeniz gerekir ( ~$ wget --version GNU Wget 1.14 built on linux-gnu.)


7

Bu, başlık ile yanıt yazdırmak için benim için çalıştı:

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

1
--spiderArg eklemek isteyebilirsiniz . Bu yararlı neden, herhangi bir sayfa içeriğini indirmez.
Antonio Feitosa

3

Bu işe yaramayacak:

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

yönlendirmeler sağdan sola değerlendirildiğinden, bu html'yi wget.txt'ye ve başlığı STDOUT'a gönderir:

wget -q -S -O - google.com 2>&1 1>wget.txt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.