Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Dùng Python sử dụng RESTCONF để lấy danh sách thông tin các cổng trên thiết bị Cisco (Sandbox)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dùng Python sử dụng RESTCONF để lấy danh sách thông tin các cổng trên thiết bị Cisco (Sandbox)

    Sơ đồ mạng:




    Các bước thực hiện:
    1. Cài đặt thư viện:
    2. Kiểm tra đi được internet:
    3. Vào sandbox của cisco để lấy thông tin CSR1000V ( Các bước 1 2 3 làm tương tự Lab Netconf, các bạn có thể tham khảo tại đây : Dùng Python sử dụng Netconf để lấy danh sách thông tin các cổng trên thiết bị Cisco (Sandbox)
    4. Viết chương trình:
    - Import các thư viện và khai báo các thông tin cần để giao tiếp với thiết bị :

    Code:
    import requests
    import sys
     
    requests.packages.urllib3.disable_warnings()
     
    HOST = 'ios-xe-mgmt.cisco.com'
    PORT = '9443'
    USER = 'developer'
    PASS = 'C1sco12345'
    - Viết hàm lấy thông tin các cổng:

    Code:
    def get_configured_interfaces():
          url = "https://{h}:{p}/restconf/data/ietf-interfaces:interfaces".format(h=HOST, p=PORT)
          headers = {
                'Content-Type': 'application/yang-data+json',
                'Accept': 'application/yang-data+json'
          }
          response = requests.get(url, auth=(USER, PASS),
                                headers=headers, verify=False)
          return response.text
    • Gán đường dẫn url.
    • Khai báo headers bao gồm Content-Type, Accept.
    • Khai báo biến response để gán kết quả trả về phương thức get của thư viện requests.
    • return response.text nghĩ là sau khi chạy xong hàm get_configured_interfaces() sẽ trả về response dạng text.
    - Viết hàm main để chạy hàm get_configured_interfaces() và in ra thông tin các cổng:

    Code:
    def main():
           interfaces = get_configured_interfaces()
           print(interfaces)
     
    if __name__ == '__main__':
        sys.exit(main())
    Kết quả:




    Completed.

    Thank you.
    Nguồn : VNPRO
Working...
X