出力ドキュメントとヘッダーをSTDOUTにWget


115

ドキュメントの本文とそのヘッダーをwgetでstdoutに出力しようとしています wget -S -O - http://google.com

ただし、htmlドキュメントのみが表示されます。

ありがとう

UPD:

これを働いた wget --save-headers --output-document - http://google.com

wget --version 変更されたGNU Wget 1.11.4 Red Hatを示します


私はこれを試しただけでうまくいきました--save-headersが、実際にはそうでした-save-headers
Chris Rymer

そしてwget -qS <url>ちょうどのためのHTTP ヘッダ(EQに。curl -IL

回答:


166

以下を試してください。追加のヘッダーはありません

wget -qO- www.google.com

末尾に注意してください-。これは-O、ファイルにアクセスするための通常のコマンド引数の一部ですが、ファイル>へのダイレクトに使用しないため、シェルに送信されます。-qO-またはを使用できます-qO -


2
余分なものは何ですか-Oの後?
codecowboy 14

1
@codecowboy余分なダッシュを説明するために答えを装飾しました。
Joseph Lust 14

3
この-Sオプションは私のalpineLinuxコンテナではサポートされていませんでした。私はそれを省略し、すべて良かった
クリスチャンボンジョルノ2017年

1
GNUのマニュアルページによると、「-をファイルとして使用すると、ドキュメントは標準出力に出力され、リンク変換が無効になります。」先行する空白でより明確に記述されています。
Josh Habdas

3
この答えは意味がありません。OPはヘッダーを非表示にするのではなく、表示するように求めました
aexl

45

wget -S -O - http://google.comは期待どおりに機能します、注意が必要です。ヘッダーはデバッグ情報と見なされるため、標準出力ではなく標準エラーに送信されます。標準出力をファイルまたは別のプロセスにリダイレクトする場合は、ドキュメントのコンテンツのみを取得します。

可能な解決策として、標準エラーを標準出力にリダイレクトしてみることができます。例えば、中bash

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

または

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

この-qオプションは、wget出力の進行状況バーと他のいくつかの迷惑な雑談を抑制します。


1
この-Sオプションは私のalpineLinuxコンテナではサポートされていませんでした。私はそれを省略し、すべて良かった
クリスチャンボンジョルノ2017年

@ChristianBongiornoで適切なwgetをインストールできapk add wgetます。それ以外の場合は、busyboxバージョンのみが使用されます。
AndreKR

21

ここで動作します:

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

おそらくあなたはあなたのwgetを更新する必要があります(~$ wget --version GNU Wget 1.14 built on linux-gnu.


7

これはヘッダー付きの応答を印刷するために私のために働きました:

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

1
--spiderarg を追加することもできます。この便利な原因は、ページコンテンツをダウンロードしないことです。
Antonio Feitosa

3

これは機能しません:

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

リダイレクトは右から左に評価されるため、htmlはwget.txtに送信され、ヘッダーはSTDOUTに送信されます。

wget -q -S -O - google.com 2>&1 1>wget.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.