API किसी एप्लिकेशन में सर्विस या फीचर लागू करने के लिए अत्यंत उपयोगी हैं। API सर्वर और क्लाइंट के बीच कनेक्शन स्थापित करने में मदद करते हैं, इसलिए जब भी क्लाइंट API मेथड्स में से किसी एक का उपयोग करके सर्वर को रिक्वेस्ट भेजता है, तो सर्वर क्लाइंट को स्टेटस कोड (201 सफल रिस्पॉन्स के रूप में) के साथ रिस्पॉन्ड करता है।
आप GET, POST, PUT या DELETE मेथड्स में से किसी एक का उपयोग करके किसी भी API को रिक्वेस्ट कर सकते हैं। हालांकि, यदि आप एक एप्लिकेशन बनाना चाहते हैं जहां आपको सार्वजनिक रूप से उपलब्ध API (उदाहरण के लिए, Cat Facts API) का उपयोग करके सर्वर को रिक्वेस्ट करने की आवश्यकता है, तो आप Python लाइब्रेरी में requests मॉड्यूल का उपयोग कर सकते हैं।
निम्नलिखित एप्लिकेशन में, हम एक टेक्स्टबॉक्स बनाएंगे जो सर्वर से GET रिक्वेस्ट का उपयोग करके प्राप्त रिस्पॉन्स (टेक्स्ट) प्रदर्शित करेगा। आपको यह भी सुनिश्चित करना होगा कि आपने पहले से ही अपने वातावरण में requests मॉड्यूल इंस्टॉल किया है। requests मॉड्यूल इंस्टॉल करने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:
pip install requests
एक बार requests मॉड्यूल सफलतापूर्वक इंस्टॉल हो जाने पर, आप एप्लिकेशन बनाने के लिए नीचे दिए गए चरणों का पालन कर सकते हैं:
आवश्यक सभी लाइब्रेरी इम्पोर्ट करें।
सर्वर से प्राप्त सभी रिस्पॉन्स (GET रिक्वेस्ट) प्रदर्शित करने के लिए एप्लिकेशन में एक टेक्स्ट विजेट बनाएं।
API URL स्टोर करने के लिए एक var बनाएं।
API कॉल करने और रिस्पॉन्स बॉडी से "fact" विशेषता निकालकर JSON रिस्पॉन्स पुनः प्राप्त करने के लिए एक फ़ंक्शन परिभाषित करें।
मौजूदा फैक्ट को हटाकर और नया फैक्ट डालकर text विजेट को रिस्पॉन्स के साथ अपडेट करें।
निर्बाध रूप से रैंडम कैट फैक्ट्स लोड करने के लिए नेक्स्ट और एग्जिट बटन बनाएं।
उदाहरण
# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *
import requests
import json
# Tkinter फ्रेम का इंस्टेंस बनाएं
win = Tk()
win.geometry("700x350")
win.title("Cat Fact API")
# रिस्पॉन्स बॉडी प्रदर्शित करने के लिए एक टेक्स्ट बॉक्स बनाएं
text = Text(win, height=10, width=50, wrap="word")
text.config(font="Arial, 12")
# एक लेबल विजेट बनाएं
label = Label(win, text="Cat Facts")
label.config(font="Calibri, 14")
# API URL जोड़ें
api_url = "https://catfact.ninja/fact"
# रिस्पॉन्स और JSON रिस्पॉन्स से टेक्स्ट विशेषता पुनः प्राप्त करने का फ़ंक्शन परिभाषित करें
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)
# नेक्स्ट और एग्जिट बटन बनाएं
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()
आउटपुट
अगला रैंडम कैट फैक्ट्स लाने के लिए "Next" बटन पर क्लिक करें। आप Tkinter एप्लिकेशन विंडो से बाहर निकलने के लिए "Exit" बटन पर भी क्लिक कर सकते हैं।
