किसी एप्लिकेशन में किसी सेवा या सुविधा को लागू करने में एपीआई बेहद उपयोगी होते हैं। एपीआई सर्वर और क्लाइंट के बीच संबंध स्थापित करने में मदद करते हैं, इसलिए जब भी कोई क्लाइंट सर्वर को एपीआई विधियों में से किसी एक का उपयोग करके अनुरोध भेजता है, तो सर्वर क्लाइंट को एक स्टेटस कोड (एक सफल प्रतिक्रिया के रूप में 201) के साथ प्रतिक्रिया करता है।पी>
आप किसी एक विधि (GET, POST, PUT या DELETE) का उपयोग करके अपने इच्छित किसी भी API के लिए अनुरोध कर सकते हैं। हालांकि, यदि आप एक ऐसा एप्लिकेशन बनाना चाहते हैं जहां आपको सार्वजनिक रूप से उपलब्ध एपीआई (उदाहरण के लिए, कैट फैक्ट्स एपीआई) का उपयोग करके सर्वर से अनुरोध की आवश्यकता हो। ), तो आप अनुरोधों . का उपयोग कर सकते हैं पायथन पुस्तकालय में मॉड्यूल।
निम्नलिखित एप्लिकेशन में, हम एक टेक्स्टबॉक्स बनाएंगे जो प्रतिक्रिया प्रदर्शित करेगा (text) कैट फैक्ट्स एपीआई में से किसी एक का उपयोग करके सर्वर से पुनर्प्राप्त किया गया। आपको यह भी सुनिश्चित करना होगा कि आपने अनुरोधों . को पहले ही इंस्टॉल कर लिया है आपके वातावरण में मॉड्यूल। अनुरोध स्थापित करने के लिए मॉड्यूल, आप निम्न आदेश का उपयोग कर सकते हैं,
pip install requests
एक बार अनुरोध मॉड्यूल सफलतापूर्वक स्थापित हो जाने के बाद, आप एक एप्लिकेशन बनाने के लिए नीचे दिए गए चरणों का पालन कर सकते हैं -
-
सभी आवश्यक पुस्तकालयों को आयात करें।
-
सर्वर से प्राप्त सभी प्रतिक्रियाओं को प्रदर्शित करने के लिए एप्लिकेशन में एक टेक्स्ट विजेट बनाएं (अनुरोध प्राप्त करें)।
-
एक वर बनाएं एपीआई यूआरएल स्टोर करने के लिए।
-
एपीआई को कॉल करने के लिए एक फ़ंक्शन को परिभाषित करें और "तथ्य" . निकालकर JSON प्रतिक्रिया प्राप्त करें प्रतिक्रिया निकाय से विशेषता।
-
पाठ अपडेट करें मौजूदा तथ्य को हटाकर और नया तथ्य सम्मिलित करके प्रतिक्रिया के साथ विजेट।
-
यादृच्छिक Cat तथ्यों को निर्बाध रूप से लोड करने के लिए एक बटन (अगला और बाहर निकलें) बनाएं।
उदाहरण
# Import the required libraries from tkinter import * import requests import json # Create an instance of tkinter frame win = Tk() win.geometry("700x350") win.title("Cat Fact API ") # Create a text box to display the response body text = Text(win, height=10, width=50, wrap="word") text.config(font="Arial, 12") # Create a label widget label = Label(win, text="Cat Facts") label.config(font="Calibri, 14") # Add the API URL api_url = "https://catfact.ninja/fact" # Define a function to retrieve the response # and text attribute from the JSON response def get_zen(): response = requests.get(api_url).text response_info = json.loads(response) Fact = response_info["fact"] text.delete('1.0', END) text.insert(END, Fact) # Create Next and Exit Button b1 = Button(win, text="Next", command=get_zen) b2 = Button(win, text="Exit", command=win.destroy) label.pack() text.pack() b1.pack() b2.pack() get_zen() win.mainloop()
आउटपुट
"अगला . क्लिक करें " अगले यादृच्छिक कैट तथ्यों को लाने के लिए बटन। आप "बाहर निकलें . पर भी क्लिक कर सकते हैं " टिंकर एप्लिकेशन विंडो से बाहर निकलने के लिए बटन।