底线
(假设我使用本地网关进行ip,23用于端口,所以我的路由器要进行远程上网)
import socket
q = socket.socket()
q.connect(ip, port)
data = q.recv(1024)
print data解释器中的输出为四行:
(在第一行中有一些alt代码的胡言乱语或其他什么)
RT v24-sp2 std (c) 2012 NewMedia-NET GmbH
发行日期: 03/21/12 (SVN修订版: 18795)
DD-WRT登录:
脚本输出:
(只是第一行中的alt代码胡言乱语)
任何关于这种情况发生的原因以及如何纠正的建议都将不胜感激。
谢谢,
安德鲁
发布于 2013-01-30 02:26:05
当一次缓慢地运行命令时,在您有机会调用q.recv(1024)之前,您的路由器有时间发送它计划发送的所有内容。
当您从脚本中运行它时,这些命令会快速地连续执行。当脚本执行q.recv(1024)时,路由器只能发送一些数据,而不是全部数据。
由于您不使用循环返回并尝试读取更多的数据,所以您将不会接收(或打印)更多的数据。
(顺便问一句,世界上什么是“alt代码胡言乱语”?您应该在这里获得一些二进制数据,它们是telnet协议协商的一部分。)
https://stackoverflow.com/questions/14594923
复制相似问题