我需要使用多个telnet会话连接到一个IP,有办法吗?下面是我在python中的代码

  • 本文关键字:代码 python 一个 telnet 会话 连接 IP python
  • 更新时间 :
  • 英文 :


这是一个telnet会话,我希望连接多个会话。

import telnetlib
import time
tn = telnetlib.Telnet("10.13.135.3",23)
time.sleep(10)
tn.write("/H")
print tn.read_until("Enter Password:")
tn.write("power" + "rn")
time.sleep(5)
print tn.read_eager()
tn.read_until("IPS>")
tn.write("/OFF 1" +"rn")
time.sleep(2)

它很简单。。。你可以像这样建立额外的连接。

tn1 = telnetlib.Telnet(...)
tn2 = telnetlib.Telnet(...)

然后你就可以像往常一样使用它们了

我认为您想要的是创建多个同时的会话。我建议使用线程或多处理。下面是一个使用多处理的示例(https://docs.python.org/2/library/multiprocessing.html)

import multiprocessing
import telnetlib
import time
def connect():
    tn = telnetlib.Telnet("10.13.135.3",23)
    time.sleep(10)
    tn.write("/H")
    print tn.read_until("Enter Password:")
    tn.write("power" + "rn")
    time.sleep(5)
    print tn.read_eager()
    tn.read_until("IPS>")
    tn.write("/OFF 1" +"rn")
    time.sleep(2)
if __name__ == '__main__':
    num_connections = 5 # This should be an arg (--num_connections)
    processes = []
    for i in range(num_connections)
        p = multiprocessing.Process(target=connect, args=())
        p.start()
        processes.append(p)
    for p in processes:
        p.join()

最新更新