Requests लाइब्रेरी का परिचय
Requests — Python में HTTP अनुरोधों के लिए एक सरल और शक्तिशाली लाइब्रेरी है। यह REST API के साथ काम करने, वेब पेजों से डेटा डाउनलोड करने, फ़ाइलें भेजने और प्रमाणीकरण (authentication) के लिए एक सुविधाजनक इंटरफ़ेस प्रदान करती है। अपने संक्षिप्त सिंटैक्स और व्यापक कार्यक्षमता के कारण, Requests Python HTTP क्लाइंट्स के बीच एक डी-फैक्टो मानक बन गई है।
Requests लाइब्रेरी को केनेथ रीट्ज़ ने 2011 में बनाया था, जिसका उद्देश्य Python में HTTP अनुरोधों को यथासंभव सरल और सुविधाजनक बनाना था। यह urllib3 के ऊपर बनी है और HTTP प्रोटोकॉल के साथ काम करने के लिए एक उच्च-स्तरीय API प्रदान करती है।
urllib की तुलना में Requests के लाभ
- अधिक पठनीय सिंटैक्स — सहज ज्ञान युक्त विधियाँ और पैरामीटर
- कुकीज़ और रीडायरेक्ट का स्वचालित प्रबंधन — अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं
- JSON, हेडर, फ़ॉर्म के साथ आसान काम — लोकप्रिय फ़ॉर्मेट के लिए अंतर्निहित समर्थन
- सत्र, प्रॉक्सी, प्रमाणीकरण के लिए समर्थन — वेब सेवाओं के लिए पूर्ण टूलसेट
- सभी HTTP विधियों के लिए समर्थन — GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
- स्वचालित कंटेंट डिकोडिंग — एन्कोडिंग का बुद्धिमानी से प्रबंधन
- अंतर्निहित SSL समर्थन — डिफ़ॉल्ट रूप से सुरक्षित कनेक्शन
लाइब्रेरी की स्थापना और कनेक्शन
pip का उपयोग करके स्थापना:
pip install requests
नवीनतम संस्करण में अपडेट करने के लिए:
pip install --upgrade requests
लाइब्रेरी को इम्पोर्ट करना:
import requests
HTTP अनुरोधों की मुख्य विधियाँ
GET अनुरोध भेजना
GET अनुरोधों का उपयोग सर्वर से डेटा प्राप्त करने के लिए किया जाता है:
response = requests.get('https://api.example.com/data')
print(response.status_code) # प्रतिक्रिया कोड
print(response.text) # प्रतिक्रिया का टेक्स्ट
JSON डेटा प्राप्त करना:
response = requests.get('https://api.example.com/users')
data = response.json() # Python डिक्शनरी में स्वचालित रूपांतरण
print(data)
POST अनुरोध भेजना
POST अनुरोधों का उपयोग सर्वर पर डेटा भेजने के लिए किया जाता है:
payload = {'username': 'admin', 'password': '123'}
response = requests.post('https://api.example.com/login', data=payload)
JSON डेटा भेजना:
user_data = {'name': 'John', 'email': 'john@example.com'}
response = requests.post('https://api.example.com/users', json=user_data)
PUT, PATCH और DELETE का उपयोग
# PUT - संसाधन का पूर्ण अपडेट
requests.put('https://api.example.com/user/1', json={'name': 'New Name', 'email': 'new@example.com'})
# PATCH - संसाधन का आंशिक अपडेट
requests.patch('https://api.example.com/user/1', json={'active': True})
# DELETE - संसाधन को हटाना
requests.delete('https://api.example.com/user/1')
# HEAD - केवल हेडर प्राप्त करना
response = requests.head('https://api.example.com/user/1')
print(response.headers)
अनुरोध पैरामीटर के साथ काम करना
URL पैरामीटर को डिक्शनरी के माध्यम से पास किया जा सकता है:
params = {'search': 'python', 'limit': 10, 'page': 1}
response = requests.get('https://api.example.com/search', params=params)
print(response.url) # पैरामीटर के साथ पूर्ण URL दिखाएगा
पैरामीटर को टपल की सूची के रूप में भी पास किया जा सकता है:
params = [('tag', 'python'), ('tag', 'web'), ('limit', 20)]
response = requests.get('https://api.example.com/posts', params=params पुस्तकालय में भी
TypeScript में क्रिप्टोग्राफी: crypto-js लाइब्रेरी का अवलोकन
Rust के लिए Elasticsearch क्लाइंट: आधिकारिक लाइब्रेरी elasticsearch-rs
जावा में XML के साथ कार्य: DOM, SAX, StAX और JAXB — पूर्ण गाइड
Swift (iOS/macOS) के लिए लॉगिंग: सर्वोत्तम समाधान