J'utilise telnetlib pour un simple script Telnet sur un commutateur Juniper. Ci-dessous mon code:telnetlib et "buf = self.sock.recv (50)" erreur
import telnetlib
HOST = raw_input("Enter host IP address: ")
USER = raw_input("Enter Username: ")
PWD = raw_input("Enter Password: ")
TNT = telnetlib.Telnet(HOST, 23, 10)
TNT.read_until("login:")
TNT.write(USER.encode('ascii') + "\n")
TNT.read_until("Password:")
TNT.write(PWD.encode('ascii') + "\n")
TNT.write("set cli screen-length 10000\nconfigure\nshow\nexit\n")
print (TNT.read_all().decode('ascii'))
TNT.close()
raw_input ("Press any Key to Quit: ")
Chaque fois que je lance ce programme avec le commutateur Juniper il me donne cette erreur:
Traceback (most recent call last):
File "D:\Python\AuTel Project\Old versions and tials\Telnet (Python 2.7) V1.4.py", line 17, in <module>
print (TNT.read_all().decode('ascii'))
File "C:\Python27\lib\telnetlib.py", line 325, in read_all
self.fill_rawq()
File "C:\Python27\lib\telnetlib.py", line 516, in fill_rawq
buf = self.sock.recv(50)
timeout: timed out
J'ai fait face à ce problème avant avec Cisco et Nortel, mais je pouvais surmonter avec Commande "terminal lenght 0" sur Cisco et similaire sur Nortel. J'ai essayé d'utiliser la commande équivalente sur Juniper (set cli screen-length), mais je reçois toujours la même erreur. J'ai besoin de savoir quelle est la signification de cette erreur et quelle en est la raison, et comment la surmonter.
Cordialement,
Salut RestRisiko, Ce n'est pas à cause du délai de connexion, je peux telnet à cet appareil à partir de mon ordinateur portable qui exécute le script. si c'était parce que le délai de connexion, il échouerait dans la commande telnetlib.Telnet (hôte), mais il échoue dans la commande read_all. Je souhaite que ce soit évident pour vous maintenant. – Amr