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

Python Discussion :

problème avec pysftp


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 19
    Points
    19
    Par défaut problème avec pysftp
    bonsoir à tous
    me voila de nouveau avec un problème
    je voudrais me connecter à un serveur par sftp en utilisant python avec mon code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import pysftp as sftp
     
    cnopts = sftp.CnOpts()
    cnopts.hostkeys = None
     
    s = sftp.Connection(host='sftp://192.168.1.103',port='21',username='emmanuel',password='emmanuel', cnopts=cnopts)
    remotepath = '/export/home/'
    localpath='C:/Users/HP PRO/Desktop/New folder'
    s.get(remotepath,localpath)      
    s.close()
    cependat il ne fonctionne pas et je ne trouve pas de reponse satisfaisante à mon problème car même avec paramiko que j'ai aussi tenter je n'arrive toujours pas à joindre mon serveur
    je necessite vraiment votre aide

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je n'utilise pas pysftp, mais dans ton code, le ".get(..., ...)" ne semble pas correct => voir la doc: http://pysftp.readthedocs.io/en/rele...connection-get.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    merci beaucoup tyrtamos pour ta réponse
    j'ai lu la documentation que tu m'as proposé et même modifier le code mais le code d'erreur semble provenir de la partie connexion
    l’interpréteur ne dépasse pas cette partie
    ainsi donc pourrais tu me proposer ta manière à toi de faire avec un exemple de code car j'essaye depuis plus de deux jours avec les documentations pysftp et paramiko sans m'en sortir

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Essaie déjà de coller aux exemples donnés dans la doc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with pysftp.Connection('hostname', username='me', password='secret') as sftp:
        with sftp.cd('public'):             # temporarily chdir to public
            sftp.get('remote_file')         # get a remote file
    J'ai vu sur le web des exemples avec la syntaxe que tu as utilisée (2ème argument=localpath), mais ça ne correspond pas à la doc actuelle, et je suppose qu'il s'agissait d'une ancienne version.

    Il est donc probable que le téléchargement avec get se fasse dans le répertoire local courant: à toi de préciser celui-ci (os.chdir(...)).

    Mais je n'ai aucune possibilité d'essayer...

    [Edit] Afin de vérifier que seul ton code Python est en cause, essaie d'accéder au serveur avec filezilla client et son protocole sftp.

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 609
    Points : 2 073
    Points
    2 073
    Par défaut
    J'utilise ce protocole si besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from ftplib import FTP
     
    host = "###########"
    user = "###########"
    password ="###########"
     
    ftp=FTP(host,user,password)
    etat=ftp.getwelcome()
    ftp.retrlines('LIST')
    fichiers=ftp.dir()
    print(fichiers)
    #print(etat)
    ftp.quit()

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    merci à vous
    Tyrtamos je vais essayer avec cette syntaxe aussi voir ce que ça pourrait donner
    cependant j'ai deja tenter de me connecter grace à Filezila et mes accès sont bon
    donc le problème se situe réellement au niveau de mon code
    marco056 merci pour ton code mais dis moi est il possible de se connecter avec ton module par sftp ?

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 349
    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 349
    Points : 36 872
    Points
    36 872
    Par défaut
    Salut,

    Citation Envoyé par force_tranquille Voir le message
    j'ai lu la documentation que tu m'as proposé et même modifier le code mais le code d'erreur semble provenir de la partie connexion l’interpréteur ne dépasse pas cette partie
    Déjà poster le code d'erreur ou le traceback Python donnerait une indication sur le problème que vous rencontrez...

    - W

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    effectivement wiztricks
    merci de bien vouloir m'aider une fois de plus
    Nom : Screenshot (146).png
Affichages : 404
Taille : 42,6 Ko

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 349
    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 349
    Points : 36 872
    Points
    36 872
    Par défaut
    Salut,

    Ca veut dire que c'est 'sftp://192.168.1.103' qui est invalide.
    Vous devez passez un nom DNS ou une adresse, pas une URL.
    Essayez avec '192.168.1.103'.
    Et si çà ne fonctionne toujours pas, postez la sortie de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> import socket
    >>> socket.getaddrinfo('192.168.1.103', 21)
    note: çà affiche quelque chose lorsqu'on lance l'interpréteur Python depuis un "terminal".

    - W

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    merci beaucoup à vous tous
    grâce à vos réponses j'ai réussi à établir enfin la connexion
    j'ai utilisé le code de tytramos et j'ai combiner avec les idées de wiztricks
    et grâce à marco056 j'ai trouver la solution d'un autre de mes problèmes
    merci pour votre aide je salut votre expertise

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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