【问题标题】:accessing router via telnet lib python通过telnet库python访问路由器
【发布时间】:2016-07-02 15:37:58
【问题描述】:

我正在编写使用 python 的 telnetlib 连接到路由器并执行命令并将输出存储在文件中的代码。

我正在使用 read_until('#') 函数并期待路由器提示,然后执行下一个命令,但是当我从远程 telnet 端收到“--More--”数据时,我的代码会冻结。我尝试使用模式匹配来查找“--More--”,但有时--More-- 关键字不会立即出现。

有什么建议吗?

我必须向远程 telnet 端发送一些 IAC 命令吗?

【问题讨论】:

    标签: python telnetlib


    【解决方案1】:

    有时 --More-- 关键字不会立即出现

    尝试传入超时。

    示例:将read_until() 的超时设置为 5 秒:

    read_until('--More--', 5)
    

    或者,您可以使用 expect() 函数来查找“#”或“--More--”,但超时:

    expect(['#', '--More--'], 5)
    

    【讨论】:

    • 这两个我都做过,但都不起作用。它根本没有检测到这个词。它只是在那里冻结。
    • 你确定有'--More--'吗?尝试使用 read_very_eager() 代替 read_until('--More--') 来查看它是否存在。
    • 我启用了调试模式,我看到了这个词......它在那里
    • 你能把你的代码贴在这里,让我们看看发生了什么吗?
    猜你喜欢
    • 2015-07-26
    • 2014-08-24
    • 2015-11-21
    • 2017-02-02
    • 2012-06-01
    • 1970-01-01
    • 2021-10-09
    • 2020-05-19
    • 1970-01-01
    相关资源
    最近更新 更多