import telnetlib import time def quitTest(host, user, pwd, setOOB=False): t = telnetlib.Telnet(host) if setOOB: t.sock.sock_impl.jsocket.setOOBInline(True) print "waiting to give username" print t.read_very_eager() time.sleep(5) print t.read_very_eager() t.write(user+"\r") print "waiting to give password" print t.read_very_eager() time.sleep(5) print t.read_very_eager() t.write(pwd+"\r") print "issuing sleep" print t.read_very_eager() t.write("sleep 500\r") print t.read_very_eager() time.sleep(5) print "sending control-C" t.write(chr(3)) print "reading after control-C" print t.read_very_eager() print "done." if __name__ == "__main__": host = "myhost" user = "myuser" pwd = "mypassword" print "This run works..." quitTest(host, user, pwd, True) print "This run hangs..." quitTest(host, user, pwd, False) print "This doesn't print out"