Requests लाइब्रेरी क्या है और इसकी आवश्यकता क्यों है
Requests लाइब्रेरी Python में HTTP रिक्वेस्ट करने के लिए सबसे लोकप्रिय और आसान लाइब्रेरी है। यह GET, POST, PUT, DELETE और अन्य HTTP रिक्वेस्ट को बहुत कम कोड में भेजने का आसान तरीका प्रदान करती है।
Requests लाइब्रेरी के मुख्य फायदे
- सरल सिंटैक्स और आसानी से समझ में आने वाला API
- सेशन और कुकी मैनेजमेंट का बिल्ट-इन सपोर्ट
- JSON और फॉर्म डेटा का ऑटोमैटिक प्रोसेसिंग
- कई तरह के ऑथेंटिकेशन मेथड का सपोर्ट
- प्रॉक्सी सर्वर के साथ काम करने की सुविधा
- हिंदी और अंग्रेजी में विस्तृत डॉक्यूमेंटेशन
- डेवलपर्स कम्युनिटी का सक्रिय सपोर्ट
Requests लाइब्रेरी को इंस्टॉल कैसे करें
Requests लाइब्रेरी को pip पैकेज मैनेजर के जरिए इंस्टॉल किया जाता है। इंस्टॉलेशन प्रक्रिया आपके Python वर्जन पर निर्भर करती है।
स्टैंडर्ड इंस्टॉलेशन
pip install requests
Python 3 के लिए इंस्टॉलेशन
अगर सिस्टम में Python के कई वर्जन इंस्टॉल हैं, तो Python 3 के लिए pip3 कमांड का उपयोग करें:
pip3 install requests
इंस्टॉलेशन की जांच कैसे करें
इंस्टॉलेशन के बाद, Python कंसोल में लाइब्रेरी को इम्पोर्ट करके सफलता की जांच कर सकते हैं:
import requests
print(requests.__version__)
GET रिक्वेस्ट के साथ काम करना
GET रिक्वेस्ट का उपयोग वेब सर्वर से डेटा प्राप्त करने के लिए किया जाता है। यह वेब डेवलपमेंट में सबसे आम HTTP रिक्वेस्ट है।
साधारण GET रिक्वेस्ट
import requests
response = requests.get('https://api.github.com')
print(response.status_code) # रिस्पॉन्स स्टेटस (200 - OK)
print(response.text) # रिस्पॉन्स का टेक्स्ट
सर्वर रिस्पॉन्स का विश्लेषण
GET रिक्वेस्ट के साथ काम करते समय प्राप्त रिस्पॉन्स का सही विश्लेषण करना जरूरी है। response ऑब्जेक्ट में कई उपयोगी एट्रीब्यूट होते हैं:
status_code- HTTP रिस्पॉन्स स्टेटसtext- टेक्स्ट फॉर्मेट में रिस्पॉन्स कंटेंटcontent- बाइट्स में रिस्पॉन्स कंटेंटheaders- रिस्पॉन्स हेडरurl- रिक्वेस्ट का अंतिम URL
रिक्वेस्ट पैरामीटर के साथ काम करना
URL पैरामीटर को डिक्शनरी के जरिए भेजा जा सकता है, जिससे कोड ज्यादा पढ़ने योग्य और मॉडिफाई करने में आसान हो जाता है:
params = {
'q': 'python programming',
'page': 2,
'limit': 50
}
response = requests.get('https://www.example.com/search', params=params)
print(response.url) # पैरामीटर के साथ बना URL दिखाएं
POST रिक्वेस्ट और सर्वर पर डेटा भेजना
POST रिक्वेस्ट का उपयोग सर्वर पर डेटा भेजने के लिए किया जाता है, जैसे फॉर्म भरना या डेटाबेस में नया रिकॉर्ड बनाना।
फॉर्म डेटा भेजना
data = {
'username': 'admin',
'password': '12345',
'email': 'admin@example.com'
}
response = requests.post('https://httpbin.org/post', data=data)
print(response.text)
JSON डेटा भेजना
आधुनिक API के साथ काम करते समय अक्सर JSON फॉर्मेट में डेटा भेजना होता है। Requests लाइब्रेरी json पैरामीटर का उपयोग करने पर ऑटोमैटिक सही Content-Type सेट कर देती है:
import json
data = {
'name': 'John Doe',
'age': 30,
'city': 'Mumbai'
}
response = requests.post('https://httpbin.org/post', json=data)
result = response.json() # रिस्पॉन्स का ऑटोमैटिक JSON में कन्वर्जन
print(result)
data और json पैरामीटर में अंतर
dataपैरामीटर डेटा को फॉर्म के रूप में भेजता है (application/x-www-form-urlencoded)jsonपैरामीटर डेटा को JSON फॉर्मेट में भेजता है (application/json)