IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

[Python 3.X] Récupérer réponses en telnet via python 3.x


Sujet :

Réseau/Web Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Python 3.X] Récupérer réponses en telnet via python 3.x
    Bonjour,

    J'ai créé un petit programme python permettant de se connecter à une machine distante via la librairie "telnetlib".
    J'arrive à passer l'étape d'identification et à envoyer des commandes sans problème.
    Mon objectif est de récupérer la réponse du serveur telnet à une commande que j'envoi préalablement.

    exemple :

    si j'envoi la commande "show version"
    je reçois la réponse "système XXX in v 3.2"

    Comment pourrais-je m'y prendre pour enregistrer ce message "système XXX in v 3.2" dans un fichier texte ?
    Je sais comment écrire dans un fichier texte via fichier.write(). La question est de savoir ce que je met entre parenthèses...

    Si vous oulez jeter un oeil au code, je peux le mettre en ligne

    Merci beaucoup pour votre aide!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Les méthodes .read* "retournent" des "bytes" que vous pouvez stocker dans une variable.
    C'est cette variable là qu'il faut passer à "fichier".write (modulo son ouverture en mode "binaire").

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse,

    Ca me parle un peu mais je débute tout juste en programmation.

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tn.write("preset near source".encode('ascii') +b"\n) #je demande la source de la camera utilisé à la machine
    tn.read_eager()                                                
    fichier=open("fichier.txt","w")
    fichier.write(?)                              
    fichier.close()
    Ce que je n'arrive pas à comprendre c'est comment identifier le retour (en bytes) à la commande tn.read_eager et comment stocker ça dans une variable que j'utiliserai ensuite à la place du point d'interrogation.

    Merci d'avance

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,


    Citation Envoyé par jlacaze Voir le message
    Ce que je n'arrive pas à comprendre c'est comment identifier le retour (en bytes) à la commande tn.read_eager et comment stocker ça dans une variable que j'utiliserai ensuite à la place du point d'interrogation.
    En fait çà fonctionne presque pareil que pour n'importe quel fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> f = open('yfoo_4.py')
    >>> data = f.read()
    >>> f.close()
    >>>
    >>> f = open('yfoo.txt', 'w')
    >>> f.write(data)
    292
    >>> f.close()
    >>>
    Mais "au dessus" d'un protocole réseau comme Telnet, c'est un peu plus compliqué.

    Citation Envoyé par jlacaze Voir le message
    Ca me parle un peu mais je débute tout juste en programmation.
    Pourquoi ne pas commencer par des exercices moins difficiles comme la lecture d'un tuto (sur la programmation en Python)?
    Si vous n'avez pas encore les bases et l'ambition de... il faut passer par là si on veut s'en donner les moyens.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    c'est bon ça fonctionne. J'ai un peu galéré avec les conversions byte vers string et inversement mais maintenant c'est résolu, je récupère bien les infos voulues dans mon fichier texte.
    Merci pour l'aide

Discussions similaires

  1. [Python 2.X] Récupérer valeur d'une balise XML via Python
    Par jimmy1708 dans le forum Général Python
    Réponses: 2
    Dernier message: 08/07/2014, 17h47
  2. Réponses: 8
    Dernier message: 23/01/2007, 21h02
  3. Python et MySQLdb : récupérer des données
    Par micatmidog dans le forum Bibliothèques tierces
    Réponses: 12
    Dernier message: 31/01/2006, 18h13
  4. [Servlet]Récupérer une entete HTTP via un servlet
    Par sopata dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 20/12/2005, 18h09
  5. Réponses: 3
    Dernier message: 10/10/2005, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo