【问题标题】:Exception has occurred: SessionCloseError发生异常:SessionCloseError
【发布时间】:2021-04-15 08:35:31
【问题描述】:

我有以下代码:

from ncclient import manager

router = {"host": "ios-xe-mgmt.cisco.com", "port": "8181",
          "username": "developer", "password": "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    print('*' * 50)
    print(capability)
    m.close_session()

调试时的错误显示为:

Exception has occurred: SessionCloseError
Unexpected session close
  File "C:\Users\mathewsl\VScodeWorkSpace\.vscode\testnetconf.py", line 6, in <module>
    with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:

任何想法具体是什么导致/抛出此错误?

谢谢?

【问题讨论】:

  • 修复了您的 m.close_session() 缩进。好奇这是否是问题所在......不确定您是否注意到您的 m 对象没有被使用,只是为了关闭您的会话。请添加您的代码的意图和您想要实现的目标:stackoverflow.com/help/how-to-ask

标签: visual-studio-code netconf ncclient


【解决方案1】:

您的完整代码应该如下所示,您忘记执行 for 循环来获取网络设备的所有 YANG 模块。

from ncclient import manager

router = {"host": "sandbox-iosxr-1.cisco.com", "port":"22",
            "username": "admin", "password" : "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    for capability in m.server_capabilities:
        print('*' * 50)
        print(capability)    
    m.close_session()

【讨论】:

    猜你喜欢
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2021-05-06
    • 2019-07-24
    相关资源
    最近更新 更多