क्या मैं 404 की जांच के लिए wget का उपयोग कर सकता हूं और वास्तव में संसाधन डाउनलोड नहीं कर सकता हूं? यदि हां, तो कैसे? धन्यवाद
जवाबों:
इसके --spiderलिए वास्तव में कमांड लाइन पैरामीटर है। इस मोड में, wget फ़ाइलों को डाउनलोड नहीं करता है और यदि संसाधन नहीं मिला था और यदि नहीं मिला तो इसका रिटर्न मान शून्य है। इसे आज़माएं (अपने पसंदीदा शेल में):
wget -q --spider address
echo $?
या यदि आप पूर्ण आउटपुट चाहते हैं -q, तो बंद करें, तो बस wget --spider address। -nvकुछ आउटपुट दिखाता है, लेकिन डिफ़ॉल्ट जितना नहीं।
wget --spiderएक HEAD अनुरोध भेजता है, एक GET नहीं।
wget --spiderएक हीड करता है और यदि सफल होता है, तो उसी URL पर GET का अनुसरण करता है। इस प्रकार, पुनरावर्ती विकल्प के साथ, यह सर्वर-साइड वेबसाइट के लिए कैश के निर्माण के लिए उपयोगी है।
यदि आप $ के माध्यम से चुपचाप जाँच करना चाहते हैं? बिना grep'ing wget के आउटपुट की परेशानी के बिना आप इसका उपयोग कर सकते हैं:
wget -q "http://blah.meh.com/my/path" -O /dev/null
केवल पथ के साथ URL पर भी काम करता है लेकिन इसका नुकसान यह है कि कुछ वास्तव में डाउनलोड किया जाता है इसलिए अस्तित्व के लिए बड़ी फ़ाइलों की जांच करते समय इसकी अनुशंसा नहीं की जाती है।
--spiderआर्ग है एक वापसी कोड निर्धारित किया है। लेकिन शायद ऐसा इसलिए है क्योंकि 4 साल 3 महीने और 7 दिनों के बाद, मकड़ी चालाक हो गई है।
हाँ आसान है।
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
यदि आप एक ऐसी निर्देशिका में हैं जहाँ केवल रूट को सिस्टम में लिखने की पहुँच है। फिर आप सीधे wget www.example.com/wget-testमानक उपयोगकर्ता खाते का उपयोग कर सकते हैं । तो यह url को हिट कर देगा, लेकिन कोई लिखने की अनुमति नहीं होने के कारण फ़ाइल सहेजी नहीं जाएगी .. यह विधि मेरे लिए ठीक काम कर रही है क्योंकि मैं एक cronjob के लिए इस विधि का उपयोग कर रहा हूं। धन्यवाद।
sthx
--spiderजैसा कि ओपी पूछता है