Wget --mirror के साथ क्वेरी स्ट्रिंग को बचाना


15

मैं wget --mirror --html-extension --convert-linksएक साइट को दर्पण करने के लिए उपयोग कर रहा हूं , लेकिन मैं प्रारूप में बहुत सारे फ़ाइलनाम के साथ समाप्त करता हूं post.php?id=#.html। जब मैं किसी ब्राउज़र में इन्हें देखने की कोशिश करता हूं तो यह विफल हो जाता है, क्योंकि फ़ाइल लोड करते समय ब्राउज़र क्वेरी स्ट्रिंग को अनदेखा कर देता है। क्या फिल्म के ?चरित्र में चरित्र को किसी और चीज़ से बदलने का कोई तरीका है?


--restrict-file-names=windowsसही ढंग से काम करने का जवाब । झंडे --convert-linksऔर --adjust-extension/ -E(पूर्व में नामित --html-extension, जो भी काम करता है लेकिन पदावनत है) के साथ मिलकर यह एक दर्पण का उत्पादन करता है जो अपेक्षा के अनुरूप व्यवहार करता है।

wget  --mirror --adjust-extension --convert-links --restrict-file-names=windows http://www.example

जवाबों:


16

--restrict-file-namesविकल्प देखें । हालांकि इस विशेष उद्देश्य के लिए बिल्कुल नहीं, --restrict-file-names=windowsसंभवतः आपका साथ देगा:

--restrict-फ़ाइल-नाम = मोड

दूरस्थ URL में पाए जाने वाले वर्णों को स्थानीय फ़ाइल नाम की पीढ़ी के दौरान बच जाना चाहिए। [...]

जब "विंडोज़" दिया जाता है, Wget वर्णों से बच जाता है \ _;;, /,:,?, ", *, <,>, और नियंत्रण वर्णों की सीमा 0--31 और 128--159 में होती है। इसके अतिरिक्त , विन्डोज़ विन्डोज़ मोड में + के स्थान पर: स्थानीय फ़ाइल नामों में होस्ट और पोर्ट को अलग करने के लिए, और @ का उपयोग करता है, फ़ाइल नाम के क्वेरी भाग को बाकी हिस्सों से अलग करने के लिए। इसलिए, एक URL जिसे www के रूप में सहेजा जाएगा। xemacs.org:4300/search.pl?input=blah यूनिक्स मोड में www.xemacs.org+4300/search.pl@input=blah को विंडोज मोड में सहेजा जाएगा।


2

यदि आप किसी URL का उपयोग करते हैं तो आपका ब्राउज़र ठीक दिखाई देगा

file:///tmp/example.com/post.php%3Fid=1.html

के बजाय

file:///tmp/example.com/post.php?id=1.html

नोट: यदि आप डाउनलोड की गई फ़ाइलों से आंतरिक लिंक से परेशान हैं, तो ऐसा इसलिए होगा क्योंकि आपने डाउनलोड करने से पहले ही इसे समाप्त कर दिया था। चूंकि आपने निर्दिष्ट किया है --convert- लिंक और - html- एक्सटेंशन (केवल जब वे दिए जाते हैं तो लागू होते हैं), wget सामान्य रूप से% 3F का उपयोग करने के लिए लिंक को ठीक करेगा? हालाँकि, यह डाउनलोड होने के बाद, अंत में ऐसा करता है; यदि इसे बाधित किया गया है, तो यह किसी भी लिंक को तय नहीं करेगा, और आप इस पूर्वानुमान में छोड़ दिए गए हैं। बेशक, आप हमेशा लिंक पर जाने और लिंक को ठीक करने के लिए एक स्क्रिप्ट लिख सकते हैं, लेकिन ...


यह बिल्कुल सही नहीं है, बिना किसी रुकावट के, wget, जैसे URL के http://site.com/article.cgi?25लिए बचाया जाएगा जैसे gnu.org/software/wget/manual/wget.html#HTTP-Optionsarticle.cgi?25.html पर अनुभाग 2.7 देखें
Tzury Bar Yocar

-2

wget में सहेजे गए नाम को संशोधित करने का विकल्प नहीं है। आपको संभवतः क्या करने की आवश्यकता होगी जो एक स्क्रिप्ट बनाने और बदलने के लिए है? _ या कुछ इसी तरह के साथ। अकेला ऐसा नहीं कर सकता।

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