Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन अनुरोध:एक गाइड

जब आप पायथन में एक एप्लिकेशन बना रहे होते हैं, तो ऐसा समय आ सकता है जब आप किसी तृतीय-पक्ष सेवा से जुड़ना चाहते हैं। उदाहरण के लिए, यदि आप एक फिटनेस टूल बना रहे हैं, तो आप फिटबिट एपीआई से जुड़ना चाह सकते हैं ताकि आप अपना व्यायाम डेटा देख सकें; एक ऐप जो टेक्स्ट संदेश भेज सकता है वह ट्विलियो एपीआई से जुड़ सकता है।

पायथन में, अनुरोध पुस्तकालय आपको अनुरोध करने की अनुमति देता है ताकि आप तीसरे पक्ष की वेब सेवाओं को अपने अनुप्रयोगों से जोड़ सकें। इस गाइड में, हम पायथन रिक्वेस्ट लाइब्रेरी के बारे में जानेंगे और आप HTTP रिक्वेस्ट भेजने के लिए इसका उपयोग कैसे कर सकते हैं।

वेब अनुरोध:एक पुनश्चर्या

अनुरोध इंटरनेट के केंद्र में हैं। जब आपने इस लेख पर क्लिक किया, तो करियर कर्म सर्वर पर एक HTTP अनुरोध भेजा गया था। उस अनुरोध ने हमारे सर्वर को बताया कि आप कौन सा वेब पेज देखना चाहते हैं ताकि हमारा सर्वर पेज ढूंढ सके। एक बार वेब पेज मिल जाने के बाद, हमारे वेब सर्वर ने इसे आपके ब्राउज़र पर वापस कर दिया। यह प्रक्रिया आपको इस ट्यूटोरियल को देखने की अनुमति देती है।

वेब अनुरोध कई अलग-अलग रूपों में आते हैं। इस वेब पेज को देखने के लिए आपने जिस प्रकार का अनुरोध किया था उसे GET अनुरोध कहा जाता था। इस प्रकार का अनुरोध आपको डेटा पुनर्प्राप्त करने की अनुमति देता है। POST और PUT जैसे अन्य प्रकार के अनुरोध हैं, जिनका उपयोग सर्वर पर संसाधनों को संशोधित करने के लिए किया जाता है। इस ट्यूटोरियल के प्रयोजनों के लिए, हम GET और POST अनुरोधों पर ध्यान केंद्रित करने जा रहे हैं।

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

अनुरोध पायथन के लिए HTTP पुस्तकालय है जो आपको वेब अनुरोध करने की अनुमति देता है।

इससे पहले कि हम पायथन का उपयोग करके वेब अनुरोध कर सकें, हमें पायथन अनुरोध कोड पुस्तकालय स्थापित करना होगा। हम निम्न कमांड का उपयोग करके ऐसा कर सकते हैं:

पाइप इंस्टॉल अनुरोध

अब जब हमने पायथन पैकेज डाउनलोड कर लिया है, तो हम वेब अनुरोध करने के लिए तैयार हैं।

GET अनुरोध कैसे करें

आपके द्वारा किया जाने वाला सबसे सामान्य प्रकार का वेब अनुरोध GET अनुरोध है। इस प्रकार का अनुरोध आपको सर्वर से डेटा पुनर्प्राप्त करने की अनुमति देता है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

मान लीजिए कि हम एक ऐप बना रहे हैं जो आपको बिल्ली के तथ्यों की एक सूची प्राप्त करने की अनुमति देता है। ऐसा करने के लिए, हम एक एपीआई का उपयोग करने जा रहे हैं जिसे कैट-फैक्ट्स कहा जाता है। यह एपीआई जनता के लिए खुला है, इसलिए हमें साइन इन करने के लिए किसी क्रेडेंशियल की आवश्यकता नहीं है। हम एपीआई के लिए अनुरोध करने के लिए इस कोड का उपयोग कर सकते हैं:

import requestres =request.get('https://cat-fact.herokuapp.com/facts')print(res.status_code)

यह कोड वापस आ गया:200। आइए हमारे कोड को तोड़ दें।

पहली पंक्ति में, हमने अनुरोध पुस्तकालय आयात किया। इसने हमें अनुरोध पुस्तकालय तक पहुँचने की अनुमति दी जिसका उपयोग हम अपने ट्यूटोरियल में करेंगे। फिर हमने requests.get() . का इस्तेमाल किया वेब अनुरोध करने की विधि। हम .put() . जैसे तरीकों का इस्तेमाल कर सकते थे या .post() अन्य प्रकार के अनुरोध करने के लिए, लेकिन इस मामले में हमें केवल कैट-फैक्ट्स एपीआई से डेटा पुनर्प्राप्त करने की आवश्यकता है।

इसके बाद, हमने अपने वेब अनुरोध से स्थिति कोड का प्रिंट आउट लिया। 200 नंबर लौटाया गया, जिसने हमें बताया कि हमारा वेब अनुरोध सफलतापूर्वक किया गया था। हम बाद में ट्यूटोरियल में चर्चा करेंगे कि इन नंबरों का क्या अर्थ है।

अनुरोध देखना

ऊपर दिए गए हमारे उदाहरण में, हमने अपने अनुरोध का स्टेटस कोड प्रिंट कर लिया है। लेकिन हम अपने द्वारा पुनर्प्राप्त किए गए डेटा को कैसे देख सकते हैं? बिल्ली तथ्य कहां हैं? यहीं पर .text और .json() तरीके आते हैं।

पाठ्य प्रतिसाद देखें

हम अपने वेब अनुरोध का परिणाम देखने के लिए .text विधि का उपयोग कर सकते हैं:

import requestres =request.get('https://cat-fact.herokuapp.com/facts')print(res.text)

इस कोड ने बिल्ली तथ्यों की एक सूची लौटा दी। लेकिन, यह हमारे लिए बहुत व्यावहारिक नहीं है क्योंकि हम जिस डेटा को क्वेरी कर रहे हैं वह एक एपीआई है। जबकि अब हमारे पास बिल्ली तथ्यों की एक पायथन सूची है, हमारे लिए उन्हें पढ़ना मुश्किल है क्योंकि वे सादे पाठ में हैं।

JSON प्रतिक्रिया देखें

एक अधिक उपयोगी प्रारूप जिसमें हमारे बिल्ली तथ्यों को संग्रहीत किया जा सकता है वह JSON है। हम इस कोड का उपयोग करके अपने अनुरोध से JSON डेटा पुनर्प्राप्त कर सकते हैं:

प्रिंट(res.json())

हमारा कोड बिल्ली तथ्यों की एक लंबी सूची देता है। यहाँ सूची में पहला रिकॉर्ड है:

{'_id':'58e009550aac31001185ed12', 'text':'YouTube पर सबसे पुराना कैट वीडियो 1894 का है।', 'type':'cat', 'user':{'_id':'58e007480aac31001185ecef' , 'नाम':{'प्रथम':'कासिमिर', 'आखिरी':'शुल्ज'}}, 'अपवोट':6, 'उपयोगकर्ता अपवोट':कोई नहीं}

सफलता! हम बिल्ली तथ्यों की अपनी सूची को पुनः प्राप्त करने में कामयाब रहे हैं।

पोस्ट अनुरोध कैसे करें

आप POST अनुरोध करने के लिए अनुरोध पुस्तकालय का भी उपयोग कर सकते हैं। यह आपको वेब सर्वर पर संग्रहीत डेटा को संशोधित करने की अनुमति देगा।

इस उदाहरण के लिए, हम Airtable API का उपयोग करने जा रहे हैं। ऐसा इसलिए है क्योंकि हमें एक एपीआई का उपयोग करने की आवश्यकता है जो POST अनुरोधों का समर्थन करता है और कैट-फैक्ट्स एपीआई केवल पढ़ा जाता है।

मान लीजिए कि हमारे पास एक डेटाबेस है जहां हम सभी कप चाय पीते हैं। हमने अभी एक और कप चाय पी है और हम इसे डेटाबेस में जोड़ना चाहते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

<पूर्व>आयात अनुरोध हेडर ={'प्राधिकरण':'बियरर API_KEY', 'सामग्री-प्रकार':'एप्लिकेशन/जेसन',}डेटा ='{"रिकॉर्ड्स":[{"फ़ील्ड":{"ड्रिंक":"ब्लैक" डेकाफ़ टी"}}]}'res =request.post('https://cat-fact.herokuapp.com/facts', हेडर्स=हेडर्स, डेटा=डेटा)प्रिंट(res.json())

हमारा कोड लौटा:

{'रिकॉर्ड्स':[{'id':'recqUEPuXEAXaNl1L', 'fields':{'ड्रिंक':'ब्लैक डेकाफ टी', 'डेट':'2020-06-16T08:53:02.000Z'} , 'बनाया गया समय':'2020-06-16T08:53:02.000Z'}]}

यह बताता है कि हमारा HTTP अनुरोध सफल रहा। हमने अभी-अभी उनके API का उपयोग करके अपने Airtable डेटाबेस में एक रिकॉर्ड जोड़ा है। आइए कोड की इन पंक्तियों पर आगे चर्चा करें।

सबसे पहले, हमने अनुरोध पुस्तकालय आयात किया ताकि हम अपने कोड में HTTP अनुरोध कर सकें।

फिर हमने एक डिक्शनरी को परिभाषित किया जिसमें दो कुंजी और मान शामिल थे:एक जो हमारी प्रमाणीकरण कुंजी को संग्रहीत करता है और दूसरा जो उस प्रकार की सामग्री को निर्दिष्ट करता है जिसे हम वेब सर्वर पर भेज रहे थे। ये हेडर हैं जिन्हें हमें Airtable API को अनुरोध करने के लिए भेजने की आवश्यकता है।

इसके बाद, हमने डेटा नामक एक वैरिएबल घोषित किया, जो उस डेटा को संग्रहीत करता था जिसे हम अपने POST अनुरोध के साथ भेजना चाहते थे। इस मामले में, हम अपने डेटाबेस में "ब्लैक डेकाफ चाय" नामक एक पेय जोड़ रहे थे। इसके बाद हमने requests.post() . का इस्तेमाल किया विधि और हमारे हेडर और डेटा को पैरामीटर के रूप में निर्दिष्ट किया, जिसने हमें एयरटेबल एपीआई के लिए एक POST अनुरोध करने की अनुमति दी।

अंत में, हमने res.json() . का उपयोग करके JSON प्रारूप में हमारे अनुरोध के परिणाम का प्रिंट आउट लिया ।

HTTP स्थिति कोड

जब आप वेब अनुरोध करते हैं तो HTTP प्रोटोकॉल एक अद्वितीय स्थिति कोड देता है। इससे आप देख सकते हैं कि आपका वेब अनुरोध सफल हुआ है या कोई त्रुटि हुई है या नहीं। आपने शायद इनमें से कुछ को पहले ही देख लिया है, जैसे कि 404।

यहां स्थिति कोड की एक संदर्भ सूची दी गई है, जो पायथन अनुरोधों के साथ अनुरोध करते समय आपके सामने आ सकती है:

  • 1XX:सूचना
  • 2XX:अनुरोध सफलतापूर्वक किया गया था
  • 3XX:अनुरोध पुनर्निर्देशित किया गया था
  • 4XX:क्लाइंट-साइड त्रुटि
  • 5XX:सर्वर-साइड त्रुटि

इन स्थिति कोडों को जानने से हम अपने प्रोग्राम में डिबगिंग जोड़ सकते हैं। आइए पहले के कैट-फैक्ट्स एपीआई उदाहरण से GET अनुरोध लें। मान लीजिए कि हम एक संदेश का प्रिंट आउट लेना चाहते हैं यदि हम जिस संसाधन तक पहुँच प्राप्त कर रहे हैं वह नहीं मिल रहा है। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

import requestres =request.get('https://cat-fact.herokuapp.com/facts')if res.status_code ==200:Print("Success")else :Print("Error") 

हमारा कोड लौटा:सफलता। चूंकि हमारे अनुरोध का स्थिति कोड 200 है, संदेश "सफलता" कंसोल पर मुद्रित होता है। हालांकि, अगर हमारा अनुरोध विफल हो गया था - उदाहरण के लिए, हमने एक अमान्य यूआरएल निर्दिष्ट किया होगा - तो संदेश "त्रुटि" कंसोल पर मुद्रित किया गया होगा।

निष्कर्ष

पायथन अनुरोध पुस्तकालय आपको पायथन में HTTP अनुरोध करने की अनुमति देता है। इस गाइड में, हमने चर्चा की कि पायथन अनुरोध पुस्तकालय का उपयोग GET और POST अनुरोध करने के लिए कैसे किया जाता है, लेकिन आप पुस्तकालय का उपयोग करके PUT और DELETE अनुरोध भी कर सकते हैं।

जब आप requests.get() . जैसी किसी विधि का उपयोग करते हैं या requests.post() , पायथन उस वेब संसाधन के लिए एक अनुरोध करेगा जिसे आप एक्सेस करना चाहते हैं। आप अपने अनुरोध के साथ हेडर और डेटा संलग्न कर सकते हैं, जो आपको अपने स्वामित्व वाले वेब संसाधन में परिवर्तन करने के लिए जानकारी भेजने की अनुमति देता है।

अब आप एक विशेषज्ञ की तरह पायथन अनुरोध पुस्तकालय का उपयोग शुरू करने के लिए तैयार हैं!


  1. पायथन दुभाषिए:एक चरण-दर-चरण मार्गदर्शिका

    पायथन सीखने के लिए सुपर सुलभ है क्योंकि पायथन दुभाषिए ऑनलाइन मौजूद हैं, यह सुनिश्चित किए बिना कि आपके पास अपनी मशीन पर पायथन का सही संस्करण स्थापित है। इस लेख में, हम बात करते हैं कि पायथन इंटरप्रेटर क्या है और ऑनलाइन उपयोग के लिए उपलब्ध कुछ अधिक लोकप्रिय, शुरुआती-अनुकूल दुभाषियों की सूची बनाएं।

  1. पायथन प्राथमिकता कतार:एक गाइड

    पायथन प्राथमिकता कतार:एक गाइड पायथन प्राथमिकता कतार डेटा को एक विशेष क्रम में संग्रहीत करती है। पायथन में प्राथमिकता कतार को लागू करने के दो तरीके हैं:कतार वर्ग का उपयोग करना और हीपक मॉड्यूल का उपयोग करना। आप सूची में प्रत्येक आइटम के मूल्यों के आधार पर डेटा ऑर्डर करना चाह सकते हैं। उदाहरण के लिए

  1. पायथन डिक्शनरी वैल्यूज़:ए गाइड

    पायथन डिक्शनरी वैल्यूज () मेथड डिक्शनरी में वैल्यू वाले ऑब्जेक्ट को लौटाता है। यह विधि उपयोगी है यदि आप केवल शब्दकोश में मूल्यों पर पुनरावृति करना चाहते हैं। यदि आप बाद में कोई शब्दकोश बदलते हैं, तो मान () पद्धति में संग्रहीत डेटा नए शब्दकोश को प्रतिबिंबित करने के लिए बदल जाएगा। जब आप पायथन के साथ