पायथन का उपयोग वेबपेजों तक पहुँचने के साथ-साथ वेबपेजों पर सामग्री पोस्ट करने के लिए भी किया जा सकता है। httplib, urllib, httplib2 आदि जैसे विभिन्न मॉड्यूल हैं लेकिन अनुरोध मॉड्यूल सबसे सरल है और इसका उपयोग GET और POST विधियों को शामिल करते हुए सरल लेकिन शक्तिशाली प्रोग्राम लिखने के लिए किया जा सकता है।
GET विधि
जीईटी विधि पायथन अनुरोध मॉड्यूल का हिस्सा है जिसका उपयोग वेब यूआरएल से डेटा प्राप्त करने के लिए किया जाता है। नीचे दिए गए उदाहरण में हम अपनी वेबसाइट तक पहुंचते हैं और प्राप्त विधि के माध्यम से विभिन्न प्रतिक्रियाओं का पता लगाते हैं। हमें एन्कोडिंग, प्रतिक्रिया समय और हेडर और बॉडी का हिस्सा भी मिलता है।
उदाहरण
import requests
req = requests.get('http://www.tutorialspoint.com/')
# Page encoding
e = req.encoding
print("Encoding: ",e)
# Response code
s = req.status_code
print("Response code: ",s)
# Response Time
t = req.elapsed
print("Response Time: ",t)
t = req.headers['Content-Type']
print("Header: ",t)
z = req.text
print("\nSome text from the web page:\n",z[0:200])
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Encoding: UTF-8 Response code: 200 Response Time: 0:00:00.103850 Header: text/html; charset=UTF-8 Some text from the web page:
पोस्ट विधि
सर्वर में डेटा बनाने या अपडेट करने के लिए सर्वर को ज्यादातर फॉर्म के माध्यम से डेटा भेजने के लिए POST विधि का उपयोग किया जाता है। अनुरोध मॉड्यूल हमें पोस्ट विधि प्रदान करता है जो डेटा पैरामीटर का URL और मान लेकर सीधे डेटा भेज सकता है।
नीचे दिए गए उदाहरण में हम पोस्ट विधि के माध्यम से httpbin.org वेबसाइट पर कुछ डेटा पोस्ट करते हैं और इसे कैसे पोस्ट किया जाता है, इस पर प्रतिक्रिया प्राप्त करते हैं।
उदाहरण
import requests
in_values = {'username':'Jack','password':'Hello'}
res = requests.post('https://httpbin.org/post',data = in_values)
print(res.text) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
{
"args": {},
"data": "",
"files": {},
"form": {
"password": "Hello",
"username": "Jack"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "28",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.22.0",
"X-Amzn-Trace-Id": "Root=1-5ef75488-969f97a68bb72642b97b6d50"
},
"json": null,
"origin": "122.xxx.yy.zzz",
"url": "https://httpbin.org/post"
}