Computer >> कंप्यूटर >  >> प्रणाली >> Linux

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

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

पायथन, जो कि अधिकांश लिनक्स वितरणों में डिफ़ॉल्ट रूप से शामिल है, "SimpleHTTPServer" और "http.server" मॉड्यूल के माध्यम से सरल HTTP सर्वर प्रदान करता है। पहला पायथन 2 मानक पुस्तकालय में पाया जाता है, जबकि बाद वाले को पायथन 3 में शामिल किया जाता है। इन हल्के HTTP सर्वरों को अलग से स्थापना की आवश्यकता नहीं होती है और इसे एक ही कमांड के साथ तुरंत शुरू किया जा सकता है।

पायथन इंस्टॉल करना

आपके सिस्टम में कम से कम एक पायथन संस्करण शामिल होने की संभावना है, लेकिन अगर ऐसा नहीं है, तो अपने मूल पैकेज मैनेजर का उपयोग करके पायथन 3 स्थापित करें।

उदाहरण के लिए, डेबियन और उबंटू पर:

sudo apt update
sudo apt install -y python3

HTTP सर्वर प्रारंभ करना

भेजने वाली मशीन द्वारा उपयोग किए गए आईपी पते पर ध्यान दें।

ip a s

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

पता करें कि निम्नलिखित कमांड के साथ कौन सा पायथन संस्करण स्थापित है:

python --version
python3 --version

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

cd /path/to/files/

उदाहरण के लिए:

cd /home/user/Documents/

अब आप HTTP सर्वर शुरू कर सकते हैं। Python 2.x के लिए, SimpleHTTPServer मॉड्यूल का उपयोग करें:

python -m SimpleHTTPServer

या http.server Python 3.x के मामले में:

python3 -m http.server

दोनों विविधताएं डिफ़ॉल्ट रूप से पोर्ट 8000 पर सुनती हैं, हालांकि आप मॉड्यूल नाम के बाद स्पष्ट रूप से एक अलग पोर्ट नंबर निर्दिष्ट कर सकते हैं।

python -m SimpleHTTPServer [port]
python3 -m http.server [port]

नोट: यदि आप 1024 के अंतर्गत पोर्ट चुनते हैं तो रूट विशेषाधिकारों की आवश्यकता होती है।

आपकी फ़ाइलें डाउनलोड करना

प्राप्त करने वाली मशीन पर, आप अपनी फ़ाइलों को डाउनलोड करने के लिए किसी भी HTTP क्लाइंट का उपयोग कर सकते हैं। यदि आप ग्राफिकल वातावरण का उपयोग कर रहे हैं, तो ब्राउज़र अक्सर कमांड लाइन उपयोगिताओं की तुलना में अधिक सुविधाजनक होता है। बस https://IP_ADDRESS:8000 पर ब्राउज़ करें, जहां "IP_ADDRESS" भेजने वाले कंप्यूटर का आईपी पता है, और उन्हें डाउनलोड करने के लिए वांछित फाइलों पर क्लिक करें।

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

वैकल्पिक रूप से, आप अपनी फ़ाइलें लाने के लिए Wget या cURL का उपयोग कर सकते हैं। आपके पास पहले से ही एक या दोनों स्थापित होने चाहिए। यदि दोनों नहीं हैं, तो हम Wget को स्थापित करने का सुझाव देते हैं, क्योंकि यह अधिक उपयोगकर्ता के अनुकूल है और संपूर्ण निर्देशिकाओं को डाउनलोड करने का समर्थन करता है।

डेबियन और उबंटू के लिए:

sudo apt install wget

आरएचईएल और सेंटोस 6/7 के लिए:

sudo yum install wget

फेडोरा और आरएचईएल/सेंटोस 8 के लिए:

sudo dnf install wget

Wget का उपयोग करना

Wget के साथ एक फ़ाइल डाउनलोड करने के लिए, बस Wget को और उसके बाद उस फ़ाइल के URL को कॉल करें जिसे आप डाउनलोड करना चाहते हैं।

wget https://IP_ADDRESS:8000/filename

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

आप Wget का उपयोग -r . जोड़कर पूरी निर्देशिका को पुनरावर्ती रूप से डाउनलोड करने के लिए भी कर सकते हैं कमांड लाइन फ्लैग।

wget -r https://IP_ADDRESS:8000/

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

कर्ल का उपयोग करना

डिफ़ॉल्ट रूप से, कर्ल फ़ाइल सामग्री को आपके टर्मिनल पर प्रिंट करने का प्रयास करता है। तो इसके बजाय फ़ाइल को सहेजने के लिए, -o . के साथ एक फ़ाइल नाम निर्दिष्ट करें झंडा।

curl https://IP_ADDRESS:8000/filename -o filename

पायथन के अंतर्निहित HTTP सर्वर का उपयोग करके फ़ाइलें स्थानांतरित करना

निष्कर्ष

पायथन के मानक पुस्तकालय में HTTP कार्यक्षमता फ़ाइलों को स्थानांतरित करने का एक बुनियादी लेकिन तेज़ और सुविधाजनक तरीका प्रदान करती है, जो कुछ परिदृश्यों के लिए एकदम सही है। लेकिन ध्यान रखें कि क्योंकि यह न तो एन्क्रिप्शन और न ही प्रमाणीकरण के साथ सादा HTTP है, इसलिए आपको संवेदनशील फाइलों को उजागर न करने के लिए सावधान रहना चाहिए।


  1. पायथन का उपयोग करके कई फाइलों का नाम बदलें

    नाम बदलें () विधि का उपयोग Python3 में किसी फ़ाइल या निर्देशिका का नाम बदलने के लिए किया जाता है। नाम बदलें () विधि ओएस मॉड्यूल का एक हिस्सा है। os.rename के लिए सिंटैक्स () os.rename(src, dst) पहला तर्क src है जो नाम बदलने के लिए फ़ाइल का स्रोत पता है और दूसरा तर्क dstजो नए नाम के साथ गंतव्य है।

  1. पायथन में CX_Freeze का उपयोग करना

    कभी-कभी हमें कुछ अलग बनाने का मन करता है जो बहुत ही रोमांचक होता है, और मानव स्वभाव के अनुसार, हम हमेशा इसे साझा करना पसंद करते हैं। पायथन भी उन इच्छाओं को पूरा करता है। पायथन का उपयोग करते हुए, यदि हम अपने पायथन प्रोग्राम को अपने दोस्तों के साथ साझा करना चाहते हैं, तो हम ऐसा कर सकते हैं, केवल उन स

  1. Linux में SCP का उपयोग करके सुरक्षित रूप से फ़ाइलें कैसे स्थानांतरित करें

    Linux सर्वर को एक्सेस करते समय, आपके पास कुछ विकल्प होते हैं। यदि यह एक यूजर इंटरफेस वाला सर्वर है, तो आप वीएनसी का उपयोग कर सकते हैं, लेकिन अधिक सामान्य विकल्प सिक्योर शेल या एसएसएच के साथ हेडलेस सर्वर में लॉग इन करना है। यह एक एन्क्रिप्टेड, सुरक्षित प्रोटोकॉल है जो आपको एसएसएच क्लाइंट के माध्यम से