पायथन अनुरोध: आप सभी को पता होना चाहिए

यह ब्लॉग आपको विस्तार से अजगर अनुरोध मॉड्यूल के माध्यम से चलेगा। आप GET और POST अनुरोध, सत्र ऑब्जेक्ट, कुकीज़ और हेडर से परिचित होंगे।

पायथन अनुरोध बैग हर रोज लगभग 400,000 डाउनलोड करता है। इस की लोकप्रियता के बारे में समझने के लिए यह संख्या पर्याप्त है । हाल के वर्षों में, अजगर प्रोग्रामिंग भाषा कई डेवलपर्स के लिए सबसे वांछित प्रोग्रामिंग भाषा बन गई है। डेवलपर्स के लिए अन्य प्रोग्रामिंग भाषाओं से अजगर में संक्रमण के लिए अनुरोधों जैसी अवधारणाएं और पुस्तकालय कई कारणों में से एक हैं। इस ब्लॉग में, हम निम्नलिखित विषयों से गुजरेंगे:

पायथन अनुरोध क्या है?

पाइथन अनुरोध केनेथ रेइट्ज द्वारा लिखा गया था और अपाचे 2.0 के तहत लाइसेंस प्राप्त किया गया था। यह एक मानव हितैषी HTTP पुस्तकालय है जैसा कि आधिकारिक दस्तावेज पृष्ठ पर इसका उल्लेख है। इसका उपयोग करना आसान है और मूल रूप से HTTP अनुरोधों के सभी प्रकार बनाने के लिए उपयोग किया जाता है। निम्नलिखित कुछ उन्नत विशेषताएं हैं जो अनुरोध के साथ आती हैं:
  1. जीवित और कनेक्शन पूलिंग
  2. अंतर्राष्ट्रीय डोमेन और यूआरएल
  3. कुकी दृढ़ता के साथ सत्र
  4. ब्राउज़र-शैली एसएसएल सत्यापन
  5. स्वचालित सामग्री डिकोडिंग
  6. मूल / पाचन प्रमाणीकरण
  7. सुरुचिपूर्ण कुंजी / मूल्य कुकीज़
  8. स्वचालित विघटन
  9. यूनिकोड प्रतिक्रिया निकायों
  10. HTTP प्रॉक्सी समर्थन
  11. मल्टीपार्ट फ़ाइल अपलोड
  12. डाउनलोड स्ट्रीमिंग
  13. कनेक्शन टाइमआउट
  14. गुज़रे हुए अनुरोध
ये अजगर अनुरोध पुस्तकालय की सभी उन्नत विशेषताएं हैं, हम यह समझने की कोशिश करते हैं कि हम पहली जगह में अजगर अनुरोधों का उपयोग क्यों करते हैं।

पायथन अनुरोध का उपयोग क्यों करें?

जब यह आता है कि हम अजगर अनुरोधों का उपयोग क्यों करते हैं? कारण बहुत आसान है। अजगर के अनुरोधों का उपयोग करते समय, आपको मैन्युअल रूप से अपने url और फॉर्म-एनकोड पोस्ट डेटा में प्रश्नों को जोड़ना नहीं होगा। यह किसी भी प्रकार के http अनुरोध करते समय हमारे काम को आसान बनाता है।अब जब हम अजगर अनुरोधों से परिचित हैं और हम उन्हें अजगर में क्यों उपयोग करते हैं, तो यह समझने की कोशिश करें कि हम अपने प्रोजेक्ट या सिस्टम पर अनुरोध कैसे स्थापित करने जा रहे हैं।

पायथन अनुरोध कैसे स्थापित करें?

स्थापना भाग बहुत आसान है और साथ ही। यदि आपके पास अपने सिस्टम पर पिपेनव सेटअप स्थापित है, तो आप बस टर्मिनल में निम्न कमांड चला सकते हैं।

$ पाइप स्थापित अनुरोध

यह आपके सिस्टम पर अनुरोध लाइब्रेरी स्थापित करेगा। अनुरोधों को स्थापित करने के लिए एक और दृष्टिकोण है। यदि आप pycharm का उपयोग कर रहे हैं, तो आप सेटिंग्स में प्रोजेक्ट दुभाषिया पर अनुरोध जोड़ सकते हैं। यह हमारी परियोजना पर पुस्तकालय स्थापित करने के मामले में टर्मिनल के समान उद्देश्य को पूरा करता है।अब चूंकि हम इंस्टॉलेशन के माध्यम से हैं, यह समझने की कोशिश करते हैं कि हम अजगर में अनुरोध कैसे प्राप्त करेंगे और पोस्ट करेंगे।

कैसे प्राप्त करें और पोस्ट अनुरोध करें?

अनुरोध प्राप्त करें मूल रूप से सर्वर से डेटा का अनुरोध करने के लिए उपयोग किया जाता है। अनुरोध प्राप्त करने के लिए सिंटैक्स निम्नलिखित है।
आयात अनुरोध res = request.get ('url') #res यहाँ प्रतिक्रिया की वस्तु है।
पोस्ट अनुरोध का उपयोग सर्वर पर संसाधित किए जाने वाले डेटा को सबमिट करने के लिए किया जाता है। पोस्ट अनुरोध करने के लिए सिंटैक्स निम्नलिखित है।
आयात अनुरोध पेलोड = {'key1': 'value1'} res = request.post ('url', डेटा = पेलोड)
अब जब हम जानते हैं कि हम कैसे प्राप्त कर सकते हैं और अनुरोधों को पोस्ट कर सकते हैं, तो हम इस बात पर एक नज़र डालते हैं कि हम प्राप्त अनुरोध का उपयोग करके url में पैरामीटर कैसे पारित कर सकते हैं।

एक यूआरएल में पासिंग पैरामीटर

एक यूआरएल में पैरामीटर पारित करना एक अनुरोध प्राप्त करने के रूप में सरल है। निम्नलिखित यूआरएल के लिए मापदंडों को पारित करने के लिए एक उदाहरण है।
आयात अनुरोध पेलोड = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = पेलोड) प्रिंट (res.url) # इस पैरामीटर के साथ url प्रिंट करेगा प्राप्त अनुरोध के माध्यम से पारित कर दिया।

स्थिति का कोड

हम स्टेटस कोड भी देख सकते हैं, स्टेटस कोड चेक करने के लिए निम्नलिखित कोड है:





आयात अनुरोध res = request.get ('url') प्रिंट (res.status_code ())
यदि कोड 200 देता है, तो इसका मतलब है कि कोई त्रुटि नहीं है और अनुरोध सभी ठीक है। यदि हम एक बुरा अनुरोध करते हैं, तो कोड 404 या 505 की तरह कोड लौटाएगा जो http त्रुटि को बढ़ाएगा।

प्रतिक्रिया सामग्री

हम सर्वर की प्रतिक्रिया की सामग्री को भी पढ़ सकते हैं। लायब्रेरी स्वचालित रूप से सर्वर से सामग्री को डिकोड करेगी।
आयात अनुरोध res = request.get ('url') प्रिंट (res.content)

अनुरोधों में एक बेसिन जसन डिकोडर भी होता है।

आयात अनुरोध res = request.get ('url') प्रिंट (res.json ()) #this को json प्रारूप में प्रतिक्रिया मिलेगी

मल्टी-पार्ट फ़ाइल अपलोड

अनुरोधों का उपयोग करके बहु-भाग फ़ाइलों को अपलोड करना बहुत आसान है।
आयात अनुरोध फ़ाइलें = {'फ़ाइल': खुला ('फ़ाइल नाम', 'आरबी')} Res = request.post ('url', फ़ाइलें = फ़ाइलें) प्रिंट (res.text)
कई फाइलें भेजने के लिए हम फाइल पैरामीटर में कई फाइलें निर्दिष्ट करेंगे।

कुकीज़ और हेडर

हम प्रतिक्रिया ऑब्जेक्ट का उपयोग करके सर्वर की प्रतिक्रिया हेडर और कुकीज़ देख सकते हैं। सर्वर के हेडर को देखने के लिए कोड निम्नलिखित है।
आयात अनुरोध res = request.get ('url') प्रिंट (res.headers)
हम कस्टम हेडर को url में भी पास कर सकते हैं। कोड पर एक नज़र डालते हैं।
आयात अनुरोध हेडर = {'key1': 'value1'} res = request.get ('url', हेडर = हेडर) प्रिंट (res.headers)
अनुरोध कस्टम हेडर के आधार पर अपने व्यवहार को नहीं बदलते हैं। उन्हें बस अंतिम अनुरोध पर पारित किया जाता है। कुकीज़ प्रतिक्रिया वस्तु का उपयोग करके भी देखा जा सकता है।
आयात अनुरोध # हमारे अपने कुकीज़ पास करने के लिए हम कुकीज़ पैरामीटर कुकीज = डिक्टेट (कुकीज़ = 'वर्किंग') रेस = रिक्वेस्ट को भूल सकते हैं। ('यूआरएल', कुकीज = कुकीज) प्रिंट (रेस.टेक्स्ट)

कुकीज़ एक RequestCookieJar में लौटाए जाते हैं, जो एक शब्दकोश की तरह काम करता है, लेकिन यह अधिक संपूर्ण इंटरफ़ेस भी प्रदान करता है, जो कई डोमेन या रास्तों पर उपयोग के लिए उपयुक्त है।



सत्र वस्तु

सत्र ऑब्जेक्ट आपको अनुरोधों पर कुछ मापदंडों को जारी रखने की अनुमति देता है।
  • सत्र उदाहरण से किए गए सभी अनुरोधों पर कुकीज़ को जारी रखता है
  • Urllib3 कनेक्शन पूलिंग का उपयोग करें
  • महत्वपूर्ण प्रदर्शन उकसाना
  • एक सत्र ऑब्जेक्ट में मुख्य अनुरोध एपीआई के सभी तरीके हैं
निम्नलिखित अनुरोधों में कुछ कुकीज़ को जारी रखने के लिए कोड है।
s = request.session () s.get ('url') res = s.get ('url') प्रिंट (res.text)

त्रुटियां और अपवाद

एक अजगर अनुरोध में उठाई गई त्रुटियाँ और अपवाद निम्नलिखित हैं।
  • नेटवर्क समस्या की स्थिति में, अनुरोध एक कनेक्शन कनेक्शन अपवाद को बढ़ा देगा।
  • जब कोई असफल स्थिति कोड होता है, तो Response.raise_for_status () एक HTTP त्रुटि उठाएगा।
  • यदि कोई टाइमआउट है, तो यह टाइमआउट अपवाद को बढ़ा देगा
  • यदि अनुरोध अधिकतम रीडायरेक्ट की कॉन्फ़िगर की गई संख्या से अधिक है, तो TooManyRedirects अपवाद उठाया गया है।
इस ब्लॉग में हमने अजगर अनुरोध मॉड्यूल पर चर्चा की है जिसमें हमारे पास विभिन्न उन्नत विशेषताएं हैं। हमने इंस्टीट्यूट में रिक्वेस्ट कॉन्टेंट और अन्य कॉन्सेप्ट्स के साथ इंस्टीट्यूट में इंस्टालेशन और पोस्ट रिक्वेस्ट के साथ इंस्टॉलेशन और रिक्वेस्ट पर चर्चा की। पायथन अनुरोध मॉड्यूल बॉक्स की कई असाधारण विशेषताओं में से एक है अजगर प्रोग्रामिंग भाषा । आप नामांकन करके अपनी शिक्षा को किकस्टार्ट कर सकते हैं और अजगर प्रोग्रामिंग भाषा की संभावनाओं की खोज। कोई प्रश्न है? टिप्पणी अनुभाग में उनका उल्लेख करें, हम आपके पास वापस आ जाएंगे।