Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

टिंकर टेक्स्टबॉक्स में नई एपीआई प्रतिक्रिया कैसे प्राप्त करें?

किसी एप्लिकेशन में किसी सेवा या सुविधा को लागू करने में एपीआई बेहद उपयोगी होते हैं। एपीआई सर्वर और क्लाइंट के बीच संबंध स्थापित करने में मदद करते हैं, इसलिए जब भी कोई क्लाइंट सर्वर को एपीआई विधियों में से किसी एक का उपयोग करके अनुरोध भेजता है, तो सर्वर क्लाइंट को एक स्टेटस कोड (एक सफल प्रतिक्रिया के रूप में 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()

आउटपुट

"अगला . क्लिक करें " अगले यादृच्छिक कैट तथ्यों को लाने के लिए बटन। आप "बाहर निकलें . पर भी क्लिक कर सकते हैं " टिंकर एप्लिकेशन विंडो से बाहर निकलने के लिए बटन।

टिंकर टेक्स्टबॉक्स में नई एपीआई प्रतिक्रिया कैसे प्राप्त करें?


  1. टिंकर में गतिशील रूप से बटन टेक्स्ट का आकार कैसे बदलें?

    मान लें कि हमने टिंकर फ्रेम में एक बटन और एक लेबल बनाया है। कार्य बटन टेक्स्ट को अपनी मुख्य विंडो में गतिशील रूप से आकार बदलने की अनुमति देना है। हम बटन विजेट का उपयोग करके बटन बना सकते हैं . हालांकि, बटन लेबल को गतिशील रूप से बनाने के लिए कई अन्य कार्यों का उपयोग किया जाता है। इस उदाहरण में, हम दो

  1. टिंकर टेक्स्ट बॉक्स की सामग्री को कैसे हटाएं?

    Tkinter कई फ़ंक्शन और मॉड्यूल प्रदान करता है जिसके माध्यम से हम बटन, डायलॉग बॉक्स, विजेट और कई अन्य के साथ पूरी तरह से विशेष रुप से प्रदर्शित एप्लिकेशन बना सकते हैं। टेक्स्ट विजेट बनाने के लिए, हम टिंकर एंट्री विजेट फ़ंक्शन का उपयोग कर सकते हैं जो मूल रूप से एक कंस्ट्रक्टर है और यह टिंकर की विंडो य

  1. टिंकर में एंट्री में प्लेसहोल्डर कैसे जोड़ें?

    Tkinter विजेट जोड़ने के लिए सुविधाएँ प्रदान करता है जैसे बटन, टेक्स्ट, प्रविष्टि, संवाद और अन्य विशेषताएँ जो एक एप्लिकेशन को विकसित करने में मदद करती हैं। हालांकि, टिंकर में एंट्री विजेट में प्लेसहोल्डर शामिल नहीं है। प्लेसहोल्डर एक डमी टेक्स्ट है जो उपयोगकर्ता को इसके बारे में सूचित करने के लिए प्र