सवाल पुनर्निर्देशित होने पर सही नाम के साथ फ़ाइल कैसे wget?


तो Google और सुपर उपयोगकर्ता (और मैन पेज स्कैनिंग) पर खोज करने के कुछ समय बाद मैं कुछ ऐसा जवाब नहीं ढूंढ पाया जो (मुझे लगता है) सरल होना चाहिए:

यदि आप यहां जाते हैं:

http://www.vim.org/scripts/script.php?script_id=2340

और विषय डाउनलोड करने का प्रयास करें:

http://www.vim.org/scripts/download_script.php?src_id=9750

इस तरह:

wget http://www.vim.org/scripts/download_script.php?src_id=9750

आप शायद एक फाइल के साथ समाप्त हो जाएगा download_script.php?src_id=9750

लेकिन मैं इसे बुलाया जाना चाहता हूँ molokai.vim, अगर मैं इस फ़ाइल को डाउनलोड करने के लिए ब्राउज़र का उपयोग करता तो क्या होगा।

वांछित प्रभाव के लिए wget के लिए मुझे निर्दिष्ट करने के लिए क्या विकल्प चाहिए?

मैं एक कर्ल समकक्ष कमांड के साथ ठीक भी होगा।


95
2018-06-23 11:44


मूल




जवाब:


-O file
--output-document=file

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

इसलिए,

wget -O somefile.extension http://www.vim.org/scripts/download_script.php?src_id=9750

या आप प्राप्त करने में सक्षम हो सकता है wget यदि आपके संस्करण द्वारा समर्थित है तो --content-disposition विकल्प का उपयोग करके इसे बाहर करने के लिए।

wget --content-disposition http://www.vim.org/scripts/download_script.php?src_id=9750

आदमी पेज के अनुसार चेतावनी,

--content-disposition

यदि यह चालू है, तो "सामग्री-विस्थापन" हेडर के लिए प्रयोगात्मक (पूरी तरह से कार्यात्मक नहीं) समर्थन सक्षम है। यह वर्तमान में "हेड" अनुरोध के लिए सर्वर के लिए अतिरिक्त राउंड-ट्रिप में परिणाम दे सकता है, और कुछ बग से पीड़ित होने के लिए जाना जाता है, यही कारण है कि यह वर्तमान में डिफ़ॉल्ट रूप से सक्षम नहीं है।

यह विकल्प कुछ फाइल-डाउनलोडिंग CGI प्रोग्रामों के लिए उपयोगी है जो "सामग्री-विस्थापन" हेडर का उपयोग करते हैं ताकि यह वर्णन किया जा सके कि डाउनलोड की गई फ़ाइल का नाम क्या होना चाहिए।

आप उसी स्वचालित व्यवहार को प्राप्त कर सकते हैं curl, का उपयोग कर,

curl -JLO http://www.vim.org/scripts/download_script.php?src_id=9750

-O रिमोट नाम का उपयोग करता है, और -J बल देता है -O उस नाम को यूआरएल की बजाय सामग्री-स्वभाव हेडर से प्राप्त करने के लिए, और -L यदि आवश्यक हो तो रीडायरेक्ट का पालन करता है।


142
2018-06-23 12:03



मुझे यह निर्दिष्ट करना चाहिए था कि इसे स्वचालित होना चाहिए - audio.zoom
जैसा कि मैं इसे समझता हूं, अगर वेब यूआरएल फाइल को इंगित करता है और सामग्री स्वभाव हेडर का उपयोग करके इसे अलग से सहेजने की ज़रूरत है, तो wget वेब पेज पर निर्भर करता है, जो wget पूरी तरह से समर्थन कर सकता है या नहीं। तो आप इसे wget के साथ स्वचालित रूप से नहीं कर सकते हैं। वेब पेज के आधार पर कर्ल में कम या ज्यादा सफलता हो सकती है। - EightBitTony
बिंदु जटिल पार्सिंग के बिना इन चीजों को स्क्रिप्ट करने में सक्षम होना है, कर्ल ठीक है लेकिन अब तक मैं इसके लिए सभ्य विकल्प एकत्र करने में सक्षम नहीं हूं - audio.zoom
आह - मैं गलत हूं, अद्यतन उत्तर देखें। यही कारण है कि स्टैकएक्सचेंज साइट अच्छी तरह से काम करती है - हर कोई कुछ सीखता है, यहां तक ​​कि लोग सवालों का जवाब भी देते हैं! - EightBitTony
यह मेरे लिए स्टैकएक्सचेंज पॉडकास्ट के लिए काम करता था, जो मुझे थोड़ी देर के लिए परेशान कर रहा था। धन्यवाद। - Richard Campbell


Wget के साथ आप यह कर सकते हैं:

wget --trust-server-names <url> 

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


69
2018-06-29 05:08



मुझे आश्चर्य है कि अंतर क्या है --trust-server-names तथा --content-disposition - JamesTheAwesomeDude
जैसा दिखता है --trust-server-names एक अलग फ़ाइल पर रीडायरेक्ट का पालन करता है, और --content-disposition किसी भी रीडायरेक्टिंग के बिना प्रतिक्रिया शीर्षलेख में निर्दिष्ट नाम के साथ फ़ाइल का नाम दें। - Asfand Qazi
यह डिफ़ॉल्ट कार्यक्षमता क्यों नहीं है?!? - hopeseekr
@hopeseekr सर्वर शरारती हो सकता है और फ़ाइल को कॉल कर सकता है। bashrc अगर आप ध्यान से नहीं देख रहे हैं। lists.gnu.org/archive/html/bug-wget/2012-04/msg00059.html - Patrick Conheady


आप भी इस्तेमाल कर सकते हैं aria2c - यह सामग्री-विस्थापन शीर्षकों के साथ अच्छी तरह से काम करता प्रतीत होता है।


2
2018-01-24 03:32





बस fyi curl अच्छी तरह से पुनर्निर्देशित करता है, इसलिए निम्नलिखित का उपयोग करना चाहिए, मुझे लगता है, जो आप खोज रहे हैं उसके लिए।

curl -o molokai.vim http://www.vim.org/scripts/download_script.php?src_id=9750


0
2018-06-23 12:39





निम्नलिखित द्वारा काम किया:

curl -o molokai.vim http://www.vim.org/scripts/download_script.php?src_id=9750

wget -O somefile.extension http://www.vim.org/scripts/download_script.php?src_id=9750

(मामला बदल गया छोटा i.e. (wget -O) से (wget -o)


0
2018-02-15 06:44