Huawei_Netconf_Ncclient

发布于:2024-07-01 ⋅ 阅读:(130) ⋅ 点赞:(0)
from ncclient import manager
import xmltodict

interfaces = '''
    <filter type="subtree">
      <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"      xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"  
      xmlns:urn1="urn:huawei:params:xml:ns:yang:huawei-interface" 
      xmlns:urn2="urn:huawei:params:xml:ns:yang:huawei-security-zone"
      xmlns:urn3="urn:ietf:params:xml:ns:yang:ietf-ip"
      xmlns:urn4="urn:huawei:params:xml:ns:yang:huawei-eth-trunk"
      xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
      </interfaces>
    </filter>
 
'''
data_dict = {}
host = "防火墙管理ip地址"
port = 830
user = "493031"
password = "密码"
#1.Create a NETCONF session
with   manager.connect(host=host,
                       port=port,
                       username=user,
                       password=password,
                       hostkey_verify = False,
                       device_params={'name': "huaweiyang"},
                       allow_agent = False,
                       look_for_keys = False) as m:
    get_reply = m.get_config(source='running', filter=interfaces, )
    print(type(get_reply))#<class 'ncclient.operations.retrieve.GetReply'>
#转为dict
xml_data = get_reply.data_xml
xml_dict = xmltodict.parse(xml_data)


print('888883',xml_dict.get("data").get("interfaces").get("interface"))
for i in xml_dict.get("data").get("interfaces").get("interface"):
    print(i)

目录

Huawei_Netconf_Ncclient

官网介绍

ncclient官网

image-20230323202822210

  • ncclient 是一个用于 NETCONF 客户端的 Python 库。
  • 它旨在提供一个直观的 API
  • 将 NETCONF 的 XML 编码特性明智地映射到 Python 结构和习惯用法,并使编写网络管理脚本变得更加容易。
  • 异步RPC
  • 正常情况下我们只需要导入ncclient当中的manager就可以了
from ncclient import manager

with manager.connect(host=host, port=830, username=user, h

网站公告

今日签到

点亮在社区的每一天
去签到