Wget: फ़ाइल से उपयोगकर्ता नाम और पासवर्ड पारित करने का कोई तरीका है?


22

क्या कमांड लाइन के बजाय --user और --password के जरिए फाइल से यूजरनेम और पासवर्ड को पास करने का कोई तरीका है?

पृष्ठभूमि: मैं क्रोन के माध्यम से विग चलाना चाहता हूं और प्रक्रिया दृश्य में उपयोगकर्ता नाम / पासवर्ड नहीं दिखाना चाहता हूं

जवाबों:


13

एक .wgetrcफ़ाइल ( GNU मैनुअल ) का उपयोग करें जिसमें आप दोनों या ftp और http के लिए उपयोगकर्ता नाम और पासवर्ड सेट कर सकते हैं।

दोनों के लिए समान क्रेडेंशियल्स का उपयोग करने के लिए निर्दिष्ट करें

user=casper
password=CasperPassword

या व्यक्तिगत रूप से

ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass

2
GNU wget मैनुअल भी -iमानक इनपुट से उपयोगकर्ता नाम और पासवर्ड के विकल्प का उपयोग करने का सुझाव देता है ।
रिचर्ड

.wgetrcएक से अधिक सर्वरों के साथ काम करने के लिए लचीलापन प्रदान करता है? यदि नहीं, .netrcतो बेहतर समाधान है, Tobias.pal से अन्य उत्तर देखें
ryenus

मैं स्पष्ट रूप से एक .netrcफ़ाइल का उपयोग कर चूक गया , लेकिन यह प्रलेखित है
माइक रेनफ्रो

19

मुझे आश्चर्य है कि किसी ने .netrcफ़ाइल का उल्लेख नहीं किया । यदि यह मौजूद नहीं है तो पहले फाइल बनाएं और सुरक्षित अनुमतियां सेट करें:

touch ~/.netrc
chmod 600 ~/.netrc

फिर आप होस्टनाम, उपयोगकर्ता नाम और पासवर्ड को एक पंक्ति में जोड़ सकते हैं:

echo 'machine example.com login casper password CasperPassword' >> ~/.netrc

फिर जब आप करते हैं wget https://example.comऔर सर्वर प्रतिक्रिया करता है 401 Authorization Required, तो ~/.netrcफ़ाइल से उपयोगकर्ता नाम और पासवर्ड के साथ पुन: प्रयास करेगा ।

क्रोन से इसका उपयोग करते समय सुनिश्चित करें कि आपके पास सही HOMEनिर्देशिका है। अक्सर क्रोन सेट HOME=/(उस स्थिति में आपको फ़ाइल को बनाना होगा /.netrc, लेकिन HOMEअपनी स्क्रिप्ट की शुरुआत में उचित सेट करना बेहतर होता है , जैसे export HOME=/root)।

आप ~/.netrcप्रति पंक्ति एक से अधिक होस्ट निर्दिष्ट कर सकते हैं । में अधिक जानकारी man netrc


2
के सिंटैक्स के लिए .netrc, इसका मैनुअल या संबंधित कर्ल डॉक देखें
ryenus

सबसे पहले, मैं man netrcओपी में देखने के लिए बहुत लापरवाह हूं , यह सोचकर कि यह काम क्यों करता है, तब @ryenus आपकी टिप्पणी मुझे बचाता है, धन्यवाद ~ मैनुअल हमेशा स्वागत है: पी फिर मुझे पता है कि यह एक आरसी फ़ाइल है ftp, जिसका उपयोग यह है, यह हो सकता है http के लिए काम नहीं करते। मैं इसे http पर बाद में आज़माऊँगा।
सप्ताहांत

0

कई मामलों में कर्ल एक बेहतर विकल्प हो सकता है। समय के साथ विग थोड़ा बासी हो गया।

इस कार्य के लिए कर्ल-एन स्विच का उपयोग किया जा सकता है: http://curl.haxx.se/docs/manpage.html#-n

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