क्या मैं जांच करने के लिए wget का उपयोग कर सकता हूं, लेकिन डाउनलोड नहीं


83

क्या मैं 404 की जांच के लिए wget का उपयोग कर सकता हूं और वास्तव में संसाधन डाउनलोड नहीं कर सकता हूं? यदि हां, तो कैसे? धन्यवाद


जवाबों:


116

इसके --spiderलिए वास्तव में कमांड लाइन पैरामीटर है। इस मोड में, wget फ़ाइलों को डाउनलोड नहीं करता है और यदि संसाधन नहीं मिला था और यदि नहीं मिला तो इसका रिटर्न मान शून्य है। इसे आज़माएं (अपने पसंदीदा शेल में):

wget -q --spider address
echo $?

या यदि आप पूर्ण आउटपुट चाहते हैं -q, तो बंद करें, तो बस wget --spider address-nvकुछ आउटपुट दिखाता है, लेकिन डिफ़ॉल्ट जितना नहीं।


29
ध्यान दें कि wget --spiderएक HEAD अनुरोध भेजता है, एक GET नहीं।
हमार

3
@ हैमर, मुझे यकीन नहीं है कि आप किस संस्करण का उपयोग कर रहे हैं, लेकिन 1.14 के साथ, wget --spiderएक हीड करता है और यदि सफल होता है, तो उसी URL पर GET का अनुसरण करता है। इस प्रकार, पुनरावर्ती विकल्प के साथ, यह सर्वर-साइड वेबसाइट के लिए कैश के निर्माण के लिए उपयोगी है।
डैनॉर्टन

27

यदि आप $ के माध्यम से चुपचाप जाँच करना चाहते हैं? बिना grep'ing wget के आउटपुट की परेशानी के बिना आप इसका उपयोग कर सकते हैं:

wget -q "http://blah.meh.com/my/path" -O /dev/null

केवल पथ के साथ URL पर भी काम करता है लेकिन इसका नुकसान यह है कि कुछ वास्तव में डाउनलोड किया जाता है इसलिए अस्तित्व के लिए बड़ी फ़ाइलों की जांच करते समय इसकी अनुशंसा नहीं की जाती है।


--spiderआर्ग है एक वापसी कोड निर्धारित किया है। लेकिन शायद ऐसा इसलिए है क्योंकि 4 साल 3 महीने और 7 दिनों के बाद, मकड़ी चालाक हो गई है।
जॉन रेड

अगर उन्होंने हाल ही में इसकी जाँच नहीं की है, लेकिन अगर वे इस बीच इसे ठीक करेंगे तो मुझे आश्चर्य नहीं होगा।
3ronco

16

आप फ़ाइलों के लिए जाँच करने के लिए निम्न विकल्प का उपयोग कर सकते हैं:

wget --delete-after URL

14

हाँ आसान है।

wget --spider www.bluespark.co.nz

जो आपको देगा

Resolving www.bluespark.co.nz... 210.48.79.121
Connecting to www.bluespark.co.nz[210.48.79.121]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
200 OK

-3

यदि आप एक ऐसी निर्देशिका में हैं जहाँ केवल रूट को सिस्टम में लिखने की पहुँच है। फिर आप सीधे wget www.example.com/wget-testमानक उपयोगकर्ता खाते का उपयोग कर सकते हैं । तो यह url को हिट कर देगा, लेकिन कोई लिखने की अनुमति नहीं होने के कारण फ़ाइल सहेजी नहीं जाएगी .. यह विधि मेरे लिए ठीक काम कर रही है क्योंकि मैं एक cronjob के लिए इस विधि का उपयोग कर रहा हूं। धन्यवाद।

sthx


1
इस्तेमाल नहीं किया जाना चाहिए ... रिस्की क्योंकि सिस्टम एडमिन से परमिशन बदल सकती है और आपका इरादा और बेकार तब टूट सकता है जब बिल्ट-इन फ्लैग हो, --spiderजैसा कि ओपी पूछता है
ल्यूक सेवफ्रॉग्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.