read_until方法的最基本用法是读取直到遇到指定的字符串。语法如下: read_until(expected, timeout=None) •expected是要读取的字符串,可以是一个普通的字符串或正则表达式。 •timeout是可选参数,指定读取超时的时间。 使用示例: importtelnetlib #创建Telnet对象并连接 tn=('',23) #读取直到遇到"Username:"字...
importtelnetlibimporttime tn = telnetlib.Telnet(host='192.168.56.10',port=23,timeout=10)# 打开一个连接tn.set_debuglevel(0)# 设置调试级别tn.read_until(b'username:')# 读取指定的内容(读取和写入的都必须是字节类型)tn.write(b'admin'+b'\n')# 写入tn.read_until(b'password:') tn.write(b'a...
open(host, port=23, timeout=None): 打开一个Telnet连接。 read_until(expected, timeout=None): 读取输入直到遇到预期的字符串或超时。 write(data): 向远程主机发送数据。 close(): 关闭Telnet连接。 read_all(): 读取所有数据,直到遇到EOF。 read_very_eager(): 读取输入缓冲区中的所有数据,不会阻塞。
Telnet.read_until(expected, timeout=None) 上面几个函数是当缓冲区中存在想要的数据时就返回,否则阻塞,timeout为超时时间;Telnet.expect(list, timeout=None)中的参数list支持正则表达式(such as .*) Telnet.read_sb_data() Telnet.read_very_lazy() Telnet.read_lazy() Telnet.read_eager() Telnet.read_v...
assignee = 'https://github.com/gpshead' closed_at = <Date 2013-12-11.19:42:22.604> created_at = <Date 2013-02-13.05:06:46.074> labels = ['type-bug'] title = 'telnetlib.read_until() timeout uses the wrong units' updated_at = <Date 2013-12-11.19:42:22.603> user = 'https://...
1. Telnet.read_until(expected, timeout=None) # 读取连接服务器后显示的内容,直到遇到同expected相同的字节串,或者等待时间大于timeout时直接向下运行 1. 2. Telnet.read_very_eager() # 读取从上次IO阻断到现在所有的内容,返回的是字节串,需要进行decode()编码.如果连接关闭或者没有可用数据时会抛出EOFError,...
Telnet.read_until(expected[, timeout]) 直到阅读给定的字符串,预计,当遇到或直到超时秒过去了。 如果找不到匹配项,则返回可用的任何项,可能为空字符串。EOFError如果连接关闭并且没有熟化数据可用,则提升。 Telnet.read_all() 读取所有数据直到EOF; 阻塞直到连接关闭。
连接完成后,可以通过以下函数与服务器进行交互: Telnet.read_until() :读取直到遇到给定的预期字节字符串,或者超时 。 Telnet.write() :将字节字符串写入套接字。 Telnet.close() :用于关闭telnet连接。 参考资料 https://docs.python.org/zh-cn/3.9/library/telnetlib.html...
那么如何解决这个问题呢,其实还有一种比较原始的方法,就是使用sleep方法来代替read_until方法,这样就不会出现种情况,因为到点就会自己输入,最多也就是最后得不到想要的结果,但是这个方式很不稳定,兼容性也不好;另一种方法是使用线程来启动这个函数,然后对子线程进行超时设置,这样就可以达到间接控制这个telnet连接的目...
3. read_until(expected, timeout=None):读取输入直到遇到预期的字符串。参数expected是预期的字符串,timeout是读取超时时间。 4. read_very_eager():读取输入缓冲区中的所有数据,不会阻塞。 5. write(data):向远程主机发送数据。参数data是要发送的数据。