2010-04-18 8 views
34

मैं निम्नलिखित रीडायरेक्ट से wget को कैसे रोकूं?wget: रीडायरेक्ट का पालन न करें

+0

serverfault.com? –

+0

301 मेरे मामले में रीडायरेक्ट 'wget --mirror http: // some.url' जहां' इंडेक्स? Q = 1' को HTTP /01 को वापस करने वाले इंडेक्स के प्रारंभिक अनुरोध के बावजूद '/ pretty/urls /' के डुप्लिकेट के रूप में सहेजा गया है स्थायी रूप से पुनर्निर्देशित किया गया। – here

उत्तर

34

--max-redirect 0

मैं इस प्रयास नहीं किया है, यह या तो कोई भी अनुमति देने या अनंत की अनुमति देगा ..

+0

मुझे लगता है कि आप 1 स्तर की पुनर्निर्देशन करने के लिए --level = 1 या -l = 1 भी कर सकते हैं। --level = 0 समान है --level = inf, जो अनंत है। – MJB

+0

यह मेरे लिए काम किया। –

+4

दुर्भाग्यवश, यदि आप रीडायरेक्ट के प्रतिक्रिया निकाय को पुनर्प्राप्त करना चाहते हैं तो यह काम नहीं करता है ... – user2428118

1

wget के कुछ संस्करणों एक --max-redirect विकल्प होता है: -L बजाय बिना here

+0

मेरी :( – flybywire

7

उपयोग curl देखें wget का।

+0

नहीं है यह मेरे प्रश्नों का मेरे पर्यावरण wget में "क्यों कर्ल -O मैक पर काम नहीं करता" – simpatico

+0

जवाब है और अधिक से अधिक पहुँच कर्ल –

+0

@ arcmarks.com: "अधिक पहुँच" क्या मतलब है? –

3

wget डिफ़ॉल्ट रूप से 20 रीडायरेक्ट तक चलता है। हालांकि, यह मेजबानों का विस्तार नहीं करता है। अगर आपने example.com डाउनलोड करने के लिए wget से पूछा है, तो यह www.example.com पर किसी भी संसाधन को स्पर्श नहीं करेगा। Wget इसे किसी अन्य होस्ट पर जाने और इसके खिलाफ निर्णय लेने के अनुरोध के रूप में पहचान लेगा।

संक्षेप में, आप शायद क्रियान्वित किया जाना चाहिए:

wget --mirror www.example.com 

बजाय

wget --mirror example.com 

अब मान लीजिए कि www.example.com के मालिक example.com में कई उप डोमेन है और हम उन सभी में रुचि रखते हैं करते हैं। कैसे आगे बढ़ा जाए?

इस प्रयास करें:

wget --mirror --domains=example.com example.com 

wget अब m.example.com और www.example.com सहित example.com के सभी सब-डोमेन का दौरा करेंगे।

+0

उह ... दर्पण का उपयोग नहीं, बस से हेडर चाहते हैं एक 302, यह 302 का पालन नहीं करना चाहता। मैं यह कैसे कर सकता हूं? – Michael