नेटवर्क उपकरणों के लिए REST API
प्रोग्राम के माध्यम से नियंत्रण और निगरानी के लिए RESTful API का उपयोग करके नेटवर्क उपकरणों और सेवाओं से संपर्क करना सीखें।
नेटवर्क उपकरणों के लिए REST API, CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
नेटवर्क API का परिचय
स्वागत है! इस पाठ में हम जानेंगे कि REST APIs का उपयोग करके नेटवर्क उपकरणों को कैसे नियंत्रित किया जाता है। यह पारंपरिक कमांड-लाइन इंटरफ़ेस (CLI) से आगे जाकर कार्यों को स्वचालित करने का एक शक्तिशाली तरीका है।
कमांड टाइप करने के बजाय, आप उपकरणों को संरचित संदेश भेज सकते हैं, जिससे स्वचालन अधिक व्यापक और प्रभावी बन जाता है।
REST क्या है?
REST का अर्थ Representational State Transfer है। यह नेटवर्क पर आधारित एप्लिकेशन डिज़ाइन करने की एक वास्तुशिल्प शैली है। यह कोई प्रोटोकॉल नहीं, बल्कि API के व्यवहार से संबंधित दिशानिर्देशों का एक समूह है।
- क्लाइंट-सर्वर: ज़िम्मेदारियों का पृथक्करण।
- स्टेटलेस: क्लाइंट से सर्वर को भेजे गए प्रत्येक अनुरोध में उसे समझने के लिए आवश्यक सभी जानकारी होनी चाहिए।
- कैश योग्य: प्रदर्शन बेहतर बनाने के लिए प्रतिक्रियाओं को कैश किया जा सकता है।
- एकसमान इंटरफ़ेस: संसाधनों के साथ इंटरैक्ट करने का एक सुसंगत तरीका।
संसाधन और HTTP विधियाँ
REST में हर चीज़ एक संसाधन होती है, जिसकी पहचान URL (Uniform Resource Locator) से की जाती है। उदाहरण के लिए, /interfaces या /vlans/100।
आप इन संसाधनों के साथ मानक HTTP विधियों (क्रियाओं) का उपयोग करके इंटरैक्ट करते हैं:
- GET: किसी संसाधन से डेटा प्राप्त करना।
- POST: नया संसाधन बनाना।
- PUT: मौजूदा संसाधन को अपडेट करना (या उसके मौजूद न होने पर उसे बनाना)।
- DELETE: किसी संसाधन को हटाना।
डेटा फ़ॉर्मैट: JSON और XML
REST APIs के साथ इंटरैक्ट करते समय डेटा का आदान-प्रदान आमतौर पर संरचित फ़ॉर्मैट में किया जाता है। सबसे सामान्य फ़ॉर्मैट JSON (JavaScript Object Notation) और XML (Extensible Markup Language) हैं।
आज JSON को इसकी सरलता और पठनीयता के कारण व्यापक रूप से पसंद किया जाता है। JSON का एक छोटा उदाहरण देखें:
{"interface": "GigabitEthernet1", "status": "up"}इससे इंटरफ़ेस का नाम और उसकी वर्तमान स्थिति पता चलती है।
नेटवर्क उपकरणों के API
Cisco, Juniper, Arista और अन्य विक्रेताओं के कई आधुनिक नेटवर्क उपकरण REST APIs उपलब्ध कराते हैं। ये API आपको उनकी स्थिति के बारे में प्रोग्राम के माध्यम से जानकारी लेने, कॉन्फ़िगरेशन प्राप्त करने और यहाँ तक कि कॉन्फ़िगरेशन में बदलाव करने की सुविधा देते हैं।
हर विक्रेता के API की संरचना और एंडपॉइंट अलग-अलग होंगे, इसलिए आधिकारिक दस्तावेज़ हमेशा देखें!
Python की `requests` लाइब्रेरी
Python में वेब सेवाओं और REST APIs को HTTP अनुरोध भेजने के लिए requests लाइब्रेरी सबसे उपयोगी टूल है। यह अनुरोध भेजने और प्रतिक्रियाएँ संभालने को सरल बनाती है।
आप इसे आमतौर पर pip का उपयोग करके इंस्टॉल करेंगे:
pip install requestsइसके बाद आप इसे अपनी Python स्क्रिप्ट में इम्पोर्ट कर सकते हैं।
GET अनुरोध भेजना
आइए देखें कि सार्वजनिक API से डेटा प्राप्त करने के लिए एक सरल GET अनुरोध कैसे भेजा जाता है। हम किसी 'todo' आइटम को प्राप्त करने के लिए एक डमी API का उपयोग करेंगे। यह नेटवर्क उपकरण से जानकारी प्राप्त करने की प्रक्रिया का अनुकरण करता है।
इस उदाहरण को चलाकर देखें:
import requests
def main():
# This is a public API for testing
api_url = "https://jsonplaceholder.typicode.com/todos/1"
print("Fetching a todo item...")
try:
response = requests.get(api_url)
response.raise_for_status() # Check for HTTP errors
data = response.json() # Parse JSON
print("\nSuccessfully fetched data:")
print(f"User ID: {data['userId']}")
print(f"ID: {data['id']}")
print(f"Title: {data['title']}")
print(f"Completed: {data['completed']}")
except requests.exceptions.RequestException as err:
print(f"An error occurred: {err}")
if __name__ == "__main__":
main()POST और PUT अनुरोध
जहाँ GET डेटा प्राप्त करता है, वहीं POST और PUT का उपयोग संसाधन बनाने या अपडेट करने के लिए API को डेटा भेजने में किया जाता है। उदाहरण के लिए, आप नया VLAN बनाने के लिए POST या किसी इंटरफ़ेस की गति बदलने के लिए PUT का उपयोग कर सकते हैं।
डेटा भेजते समय, आप आमतौर पर उसे अनुरोध के मुख्य भाग में JSON पेलोड के रूप में भेजते हैं। इसके लिए अक्सर requests लाइब्रेरी में json पैरामीटर का उपयोग किया जाता है।
API प्रमाणीकरण
अधिकांश वास्तविक नेटवर्क उपकरणों के API में प्रमाणीकरण आवश्यक होता है, ताकि केवल अधिकृत उपयोगकर्ता ही कॉन्फ़िगरेशन तक पहुँच सकें या उसमें बदलाव कर सकें। सामान्य विधियों में शामिल हैं:
- बेसिक प्रमाणीकरण: प्रत्येक अनुरोध के साथ उपयोगकर्ता नाम और पासवर्ड भेजना।
- API कुंजियाँ: सेवा द्वारा प्रदान की गई एक विशिष्ट कुंजी।
- टोकन-आधारित: लॉगिन के बाद एक अस्थायी टोकन प्राप्त करना और उसके बाद के अनुरोधों में उसका उपयोग करना (जैसे, OAuth)।
अपने क्रेडेंशियल को हमेशा सुरक्षित रखें!
प्रतिक्रियाओं और त्रुटियों को संभालना
API कॉल करने के बाद, सर्वर अनुरोध के परिणाम का संकेत देने वाला HTTP स्थिति कोड वापस भेजता है। समस्या-निवारण के लिए इन्हें समझना बहुत महत्वपूर्ण है:
- 200 OK: अनुरोध सफल रहा।
- 201 Created: संसाधन सफलतापूर्वक बनाया गया (POST के लिए)।
- 400 Bad Request: क्लाइंट ने अमान्य डेटा भेजा।
- 401 Unauthorized: प्रमाणीकरण विफल रहा।
- 404 Not Found: संसाधन नहीं मिला।
- 500 Internal Server Error: सर्वर की ओर से समस्या।
requests लाइब्रेरी का response.status_code आपको यह मान देता है।
अपनी जानकारी जाँचें
REST API के माध्यम से संसाधनों में बदलाव करने या उन्हें बनाने के लिए निम्नलिखित में से कौन-सी HTTP विधियाँ आमतौर पर उपयोग की जाती हैं?
पुनरावलोकन और अगले चरण
बहुत अच्छा! आपने नेटवर्क स्वचालन के लिए REST APIs के साथ इंटरैक्ट करने की मूल बातें सीख ली हैं। हमने REST क्या है, प्रमुख HTTP विधियाँ, JSON जैसे डेटा फ़ॉर्मैट और Python की requests लाइब्रेरी का उपयोग करना सीखा।
REST APIs का लाभ उठाकर आप आधुनिक नेटवर्क ढाँचों के कॉन्फ़िगरेशन, मॉनिटरिंग और समस्या-निवारण को स्वचालित करने वाली शक्तिशाली स्क्रिप्ट बना सकते हैं!
एआई शिक्षक के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “नेटवर्क उपकरणों के लिए REST API” पाठ निःशुल्क है?
हाँ—“नेटवर्क उपकरणों के लिए REST API” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“नेटवर्क उपकरणों के लिए REST API” में मैं क्या सीखूँगा?
प्रोग्राम के माध्यम से नियंत्रण और निगरानी के लिए RESTful API का उपयोग करके नेटवर्क उपकरणों और सेवाओं से संपर्क करना सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“नेटवर्क उपकरणों के लिए REST API” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- नेटवर्किंग के लिए Bash स्क्रिप्टिंग
- नेटवर्क स्वचालन के लिए Python
- नेटवर्क उपकरणों के लिए REST API
- Ansible से नेटवर्क कॉन्फ़िगरेशन