gpt4 book ai didi

Python telnetlib 读取函数返回的数据比预期多

转载 作者:行者123 更新时间:2023-12-01 09:24:40 27 4
gpt4 key购买 nike

我正在为 IBM as400 机器开发 telnet 客户端,但在返回正确数量的数据时遇到了一些麻烦。最初,程序应该连接到一个 telnet session ,该 session 具有写入的用户名和密码字段,然后转到用户 shell,让员工输入数据、访问数据库等。当我调用 read_very_eager 时> 它返回充满登录屏幕和登录后 session 的缓冲区,而不仅仅是登录后 session 。我不太清楚为什么会发生这种情况,并且其他 read_xyz 方法也不会打印任何内容,或者缓冲区仅填充登录屏幕的前几个字节。我的代码如下(省略敏感数据):

def login():
tn = telnetlib.Telnet(host, port)
sleep(1)

tn.write(username + "\t")
tn.write(password + "\r\n")
sleep(1)

data = tn.read_very_eager()

print data

def main():
print "started"
login()

main()

最佳答案

发送答案之前请阅读登录名和密码提示。否则它们将保留在流中,并将由下一个读取调用读取。

tn.read_some()
tn.write(username + "\t")
tn.read_some()
tn.write(password + "\r\n")
data = tn.read_some()

并使用read_some()而不是read_very_eager(),这样你就不需要先 sleep 。它将等待某些内容变得可用,然后返回那里的所有内容。

关于Python telnetlib 读取函数返回的数据比预期多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50531858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com