Quên tài liệu đầu ra và tiêu đề sang STDOUT


116

Tôi đang cố gắng xuất nội dung tài liệu và các tiêu đề của nó thành stdout với wget by wget -S -O - http://google.com

nhưng nó chỉ hiển thị tài liệu html.

Cảm ơn

CẬP NHẬT:

Đã làm việc này wget --save-headers --output-document - http://google.com

wget --version cho thấy GNU Wget 1.11.4 Red Hat đã được sửa đổi


Tôi chỉ cố gắng này làm việc rất lớn nhưng --save-headersđã thực sự-save-headers
Chris Rymer

wget -qS <url>chỉ dành cho tiêu đề http (eq. to )curl -IL

Câu trả lời:


166

Hãy thử cách sau, không có tiêu đề phụ

wget -qO- www.google.com

Lưu ý dấu vết -. Đây là một phần của đối số lệnh bình thường để -Ochuyển tới tệp, nhưng vì chúng ta không sử dụng >để chuyển trực tiếp đến tệp nên nó sẽ đi ra trình bao. Bạn có thể sử dụng -qO-hoặc -qO -.


2
phụ - sau chữ O là gì?
codecowboy

1
@codecowboy Tôi đã chỉnh sửa câu trả lời để giải thích dấu gạch ngang bổ sung.
Joseph Lust

3
các -Stùy chọn không được hỗ trợ trên của tôi alpinechứa linux. Tôi bỏ qua nó và tất cả là tốt
Christian Bongiorno

1
Theo trang người dùng GNU “Nếu - được sử dụng dưới dạng tệp, tài liệu sẽ được in ở đầu ra tiêu chuẩn, vô hiệu hóa chuyển đổi liên kết.” Nó được viết rõ ràng hơn với một khoảng trắng ở trước.
Josh Habdas,

4
Câu trả lời này không có ý nghĩa gì. OP yêu cầu hiển thị các tiêu đề, không ẩn chúng
aexl 14/10/19

45

wget -S -O - http://google.comhoạt động như mong đợi đối với tôi, nhưng có một lưu ý: tiêu đề được coi là thông tin gỡ lỗi và do đó chúng được gửi đến lỗi tiêu chuẩn thay vì đầu ra tiêu chuẩn. Nếu bạn đang chuyển hướng đầu ra chuẩn đến một tệp hoặc một quy trình khác, bạn sẽ chỉ nhận được nội dung tài liệu.

Bạn có thể thử chuyển hướng lỗi tiêu chuẩn sang đầu ra tiêu chuẩn như một giải pháp khả thi. Ví dụ, trong bash:

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

hoặc là

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

Các -qtùy chọn ngăn chặn các thanh tiến trình và một số bộ phận annoyingly tán gẫu khác của wgetđầu ra.


1
các -Stùy chọn không được hỗ trợ trên của tôi alpinechứa linux. Tôi bỏ qua nó và tất cả là tốt
Christian Bongiorno

@ChristianBongiorno Bạn có thể cài đặt một tiện ích phù hợp với apk add wget, nếu không, chỉ một phiên bản hộp bận được sử dụng.
AndreKR

22

Nó hoạt động ở đây:

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

có lẽ bạn cần cập nhật wget của mình ( ~$ wget --version GNU Wget 1.14 built on linux-gnu.)


7

Điều này phù hợp với tôi khi in phản hồi với tiêu đề:

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

1
Bạn có thể muốn thêm --spiderarg. Nguyên nhân hữu ích này không tải xuống bất kỳ nội dung trang nào.
Antonio Feitosa

3

Điều này sẽ không hoạt động:

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

vì chuyển hướng được đánh giá từ phải sang trái, điều này sẽ gửi html đến wget.txt và tiêu đề tới STDOUT:

wget -q -S -O - google.com 2>&1 1>wget.txt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.