(假设我使用本地网关用于ip,23用于端口,因此telnet到我的路由器中)
import socket
q = socket.socket()
q.connect(ip, port)
data = q.recv(1024)
print data
(一些alt-code乱码或第一行的任何内容)
RT v24-sp2 std(c)2012 NewMedia-NET GmbH
发布时间:03/21/12(SVN修订版:18795)
DD-WRT登录:
(只是第一行的alt-code乱码)
对于为什么会发生这种情况以及如何纠正它的任何建议都将非常感激。
谢谢,
安德鲁
答案 0 :(得分:1)
当一次一个地慢慢运行命令时,路由器有时间发送它计划发送的所有内容,然后才有机会调用q.recv(1024)
。
从脚本运行时,命令会快速连续执行。当脚本执行q.recv(1024)
时,路由器只能设法发送一些数据,而不是全部数据。
由于您不使用循环返回并尝试读取更多数据,这就是结束,您将不会再接收(或打印)数据。
(顺便说一句,世界上什么是“alt-code gibberish”?你应该得到的是一些二进制数据,它们是telnet协议协商的一部分。)