【发布时间】:2011-01-04 20:22:30
【问题描述】:
背景
当传统硬件无法在其他接口中提供简单的解决方案时,我在网络和电信方面的部分工作涉及自动化 telnet 会话。许多旧设备只能通过工艺端口(RS-232 串行端口)、SNMP 或 telnet 访问。有时 telnet 是访问特定信息的唯一方式,但是 telnet 被设计为人机界面,因此需要屏幕抓取。此外,还有为了节省带宽而只更新部分屏幕的抓取问题(请参阅ncurses)。在我的工作中,我使用了 ActiveState Expect 和 Python telnet 库。
问题
哪些语言和库能够自动执行 telnet 会话并具有以下要求:
- 适用于大型项目(例如 Tcl 似乎没有像 Python 根据我的经验,似乎已经过时了)
- 跨平台(例如Pexpect does not work on Windows 和Activestate Expect behaves differently on Windows plus 需要更新版本的 DEP 机器要关闭)
- 能够筛选重新绘制屏幕部分的抓取会话 (类似于命令行程序中 ncurses 的行为)
- 像啤酒一样免费!
更好的解决方案还包括以下内容:
- 易于再分发(例如,不 需要在机器上安装一些巨大的运行时。)
- 也适用于 SSH、串行连接和其他命令行界面。
【问题讨论】:
标签: screen-scraping telnet ncurses ui-automation console-scraping