Was meinst du mit 'läuft' nicht, öfnet er das Script nicht oder macht das Script nicht das, was es soll?
Überprüf am besten nochmal ganz genau die pormpt's und
setzt das TimeOut mal Probeweise hoher (25 oder so).
Habe auch WinXp SP3 und keine Porbleme mit telent.
telnet läuft nicht unter Windows SP3 ?
Das Timeout hochsetzen bringt nichts. Im idle funktioniert es ja. Nur von der console nicht. Ohne print oder debug läuft es auch im idle nicht.
zum besseren Verständnis hier die Ausgabe wenn ich den script mit "python telnet_test.py" starte (hier funktioniert es nicht):
zum besseren Verständnis hier die Ausgabe wenn ich den script mit "python telnet_test.py" starte (hier funktioniert es nicht):
...und hier wenn ich im idle F5 drücke (hier funktioniert es):wolfgang@wolfgang-desktop:~/workspace/Python/DECTinst$ python telnet_test.py
ohne dieses print läuft es nicht
ohne dieses print läuft es nicht
ohne dieses print läuft es nicht
Password:
das wars
wolfgang@wolfgang-desktop:~/workspace/Python/DECTinst$
ohne dieses print läuft es nicht
ohne dieses print läuft es nicht
ohne dieses print läuft es nicht
Last login: Tue Jul 8 12:07:42 from 192.168.1.1
...gekürzt...
Prompt0001>
das wars
Hallo,
das hat leider alles nichts gebracht.
Ich habe jetzt mal am Server mit gesniffert. Es sieht so aus:
Wenn ich die Debug Option einschalte sieht es OK aus:
das hat leider alles nichts gebracht.
Ich habe jetzt mal am Server mit gesniffert. Es sieht so aus:
Warum sendet python das Passwort bevor es den Passwort Prompt erhalten hat ??<- login:
-> admin\n
-> admin\n
<- Password:
Wenn ich die Debug Option einschalte sieht es OK aus:
<- login:
-> admin\n
<- Password:
-> admin\n
GELÖST !!
I habe mal ein bisschen mit sleep() herum gespielt. Wahrscheinlich ist das Problem, dass der 'read_until' den socket zu lange blockiert. Dieses Problem habe ich nicht bei größeren Ausgaben, sondern nur bei login: Password:
Hier der funktionierende Code. Ich hab ihn getestet unter Ubuntu, als auch WIN-XP SP3 (Binary erzeugt mit py2exe):
Ist das jetzt ein Bug oder normal ?
Nochmals vielen Dank für die Unterstützung !
I habe mal ein bisschen mit sleep() herum gespielt. Wahrscheinlich ist das Problem, dass der 'read_until' den socket zu lange blockiert. Dieses Problem habe ich nicht bei größeren Ausgaben, sondern nur bei login: Password:
Hier der funktionierende Code. Ich hab ihn getestet unter Ubuntu, als auch WIN-XP SP3 (Binary erzeugt mit py2exe):
Code: Alles auswählen
from telnetlib import Telnet
from time import sleep
tn = Telnet("192.168.1.100", port=23, timeout=2)
print (tn.read_until('login:',5))
sleep(1)
tn.write('admin\n')
print (tn.read_until('Password:',5))
sleep(1)
tn.write('admin\n')
print "Password is sent"
print (tn.read_until('01>',30))
Nochmals vielen Dank für die Unterstützung !