Wget आउटपुट डॉक्यूमेंट और हेडर्स टू STDOUT


116

मैं डॉक्युमेंट बॉडी और इसके हेडर को wget द्वारा stdout में आउटपुट करने की कोशिश कर रहा हूं wget -S -O - http://google.com

लेकिन यह केवल html डॉक्युमेंट दिखाता है।

धन्यवाद

युपीडी:

इस पर काम किया wget --save-headers --output-document - http://google.com

wget --version शो GNU Wget 1.11.4 Red Hat संशोधित है


मैंने अभी-अभी यह कोशिश की है कि यह बहुत अच्छा है, लेकिन --save-headersवास्तव में-save-headers
क्रिस रायमर

और wget -qS <url>बस http हेडर (eq। curl -IL) के लिए

जवाबों:


168

निम्नलिखित की कोशिश करें, कोई अतिरिक्त हेडर नहीं

wget -qO- www.google.com

पीछे की ओर ध्यान दें -। यह -Oएक फ़ाइल से बाहर निकलने के लिए सामान्य कमांड तर्क का हिस्सा है , लेकिन जब से हम >किसी फ़ाइल को निर्देशित करने के लिए उपयोग नहीं करते हैं , यह शेल के लिए बाहर जाता है। आप उपयोग कर सकते हैं -qO-या -qO -


2
ओ के बाद अतिरिक्त क्या है?
कोडकॉबॉय

1
@ codecowboy मैंने अतिरिक्त डैश को समझाने के लिए उत्तर दिया।
जोसेफ लस्ट

3
-Sविकल्प मेरे पर समर्थित नहीं किया गया था alpineलिनक्स कंटेनर। मैंने इसे छोड़ दिया और सब अच्छा था
क्रिश्चियन बोंजियोर्नो

1
GNU मैन पेज के अनुसार "यदि - का उपयोग फ़ाइल के रूप में किया जाता है, तो दस्तावेजों को मानक आउटपुट पर प्रिंट किया जाएगा, लिंक रूपांतरण को अक्षम किया जाएगा।" यह अधिक स्पष्ट रूप से एक पूर्ववर्ती व्हाट्सएप के साथ लिखा गया है।
जोश हबदास

4
इस जवाब का कोई मतलब नहीं है। ओपी ने हेडर दिखाने के लिए कहा, उन्हें छिपाए नहीं
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विकल्प प्रगति बार और के कुछ अन्य annoyingly बातूनी भागों को दबा wgetउत्पादन।


1
-Sविकल्प मेरे पर समर्थित नहीं किया गया था alpineलिनक्स कंटेनर। मैंने इसे छोड़ दिया और सब अच्छा था
क्रिश्चियन बोंजियोर्नो

@ChristianBongiorno आप के साथ एक उचित wget स्थापित कर सकते हैं apk add wget, अन्यथा केवल एक व्यस्त बॉक्स का उपयोग किया जाता है।
आंद्रेकआर

22

यह यहाँ काम करता है:

    $ 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 जोड़ना चाह सकते हैं । यह उपयोगी कारण किसी भी पृष्ठ सामग्री को डाउनलोड नहीं करता है।
एंटोनियो फीटोसा

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.