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 :

ftplib : inclure le mode actif dans le constructeur


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut ftplib : inclure le mode actif dans le constructeur
    Bonjour,
    J'ai un programme qui se connecte à un serveur ftp pour y mettre des dossiers, mais hier le comportement du ftp a changé (utilisation d'un proxy plus utilisation du ftp en mode actif)
    Pour le proxy, il suffit de mettre le l'ip dans le loggin mais pour le mode actif je ne trouve pas le moyen d'inclure le mode actif directement dans le constructeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    self.ftp=ftplib.FTP('Ip_serv','loggin@ip','password')
    Cette ligne entraine un : server not responding, du au faite que le mode est passif par défaut

    Pour le moment la méthode de contournement est de créer un objet ftp vide, de le mettre en mode actif puis d'établir la connexion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    self.ftp=ftplib.FTP()
    self.ftp.set_pasv(False)
    self.ftp.connect('ip_serv','2121')
    self.ftp.login('loggin@ip','password')
    N'existe t il pas un moyen plus simple?

    Merci
    M.L.G.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,
    La réponse est "non", car passiveserver est True par défaut et il n'y a aucun paramètre dans le constructeur pour changer cela via l'instanciation de ftplib.FTP(...).

    Maintenant, plutôt que de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    self.ftp=ftplib.FTP()
    self.ftp.set_pasv(False)
    self.ftp.connect('ip_serv','2121')
    self.ftp.login('loggin@ip','password')
    On peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ftplib.FTP.passiveserver = 0
    self.ftp=ftplib.FTP('Ip_serv','loggin@ip','password')
    Ou plus propre, créer son objet MyFtp qui fera cela de façon transparente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class MyFtp(FTP):
        def __init__(self, *args,  **kwds):
            passiveserver = kwds.pop('passiveserver', 1)
            if not passiveserver:
                self.passiveserver = passiveserver
            FTP.__init__(self, *args, **kwds)
    Dans ce cas, on appelle le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.ftp=ftplib.FTP('Ip_serv','loggin@ip','password', passiveserver=0)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2013, 12h03
  2. Inclure de l'ASM dans du C
    Par Condor7 dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 22/05/2004, 15h57
  3. Capture d'exception dans un constructeur
    Par declencher dans le forum Composants VCL
    Réponses: 8
    Dernier message: 03/02/2004, 13h52
  4. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 10h24

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