Partage
  • Partager sur Facebook
  • Partager sur Twitter

Automatiser la récupération d'un fichier avec WGET

Sujet résolu
    25 septembre 2023 à 10:18:05

    Bonjour,

    J'essaie d'automatiser (par intérêt professionnel et pédagogique) la récupération d'un fichier dans un serveur FTP par utilisation de la commande WGET écrite dans un fichier .bat

    Voici le petit script :

    rem wget --ftp-user=titi --ftp-password=XXXXYYYY ftp://fiveref@ftp3.culturevelo.com/Afternoon-EV08-fold-Black.jpg
    rem wget -O --ftp-user=titi --ftp-password=XXXXYYYY trial.jpg ftp://fiveref@ftp3.culturevelo.com/Afternoon-EV08-fold-Black.jpg rem wget ‐P G:\service INFORMATIQUE 5IVE\BIKE OFFICE\WGET ftp://titi@ftp3.culturevelo.com/Afternoon-EV08-fold-Black.jpg wget ftp://titi@ftp3.culturevelo.com/Afternoon-EV08-fold-Black.jpg pause

    Je précise que l'identifiant et le mot de passe sont corrects malgré que le terminal indique "Login incorrect" ou bien "Missing URL" selon le cas de figure. Quelqu'un aurait-il une suggestion ? 

    Merci à vous. 

    -
    Edité par LHH_120 25 septembre 2023 à 10:39:13

    • Partager sur Facebook
    • Partager sur Twitter
      25 septembre 2023 à 19:59:40

      Bonsoir,

      De ce que j'ai pu rechercher, la syntaxe est la suivante :

      wget ftp://LOGIN:PASSWORD@SERVEUR/CHEMIN/FICHIER.EXTENSION

      Est-tu sur de ta syntaxe ? (password manquant non ?)

      Ton fichier "Afternoon-EV08-fold-Black.jpg" existe bien à la racine du FTP ?

      Sinon tu peux peut-être t'inspirer de ce code :

      @echo off
      echo.
      set FTP_File="connexion_ftp.txt"
      call :FTPScriptBuild
      
      :: Lancement de la connexion
      ftp -i -s:%FTP_File%
      :: Lancement de la connexion
      
      If exist %FTP_File% Del /F /Q %FTP_File%
      echo.
      pause>nul | echo Appuyez sur une touche pour quitter le script...
      exit
      
      
      :FTPScriptBuild
      :: Les commandes pour FTP - Connexion ::
      	REM Connexion au serveur via un port
      	echo open nom_du_serveur_ftp port_du_ftp_21_par_défaut>%FTP_File%
      	
      	REM Login
      	echo username_du_ftp>>%FTP_File%
      	
      	REM Mot de passe
      	echo mot_de_passe_du_ftp>>%FTP_File%
      	
      	REM Type de transfert (ASCII/Binary/...)
      	echo ascii>>%FTP_File%
      :: Les commandes pour FTP - Connexion ::
      
      
      :: Les commandes pour FTP - Que faire ::
      	REM Affiche le dossier de travail DISTANT
      	echo pwd>>%FTP_File%
      
      	REM Affiche le dossier de travail LOCAL
      	echo lcd>>%FTP_File%
      	
      	REM Liste le contenu du dossier DISTANT
      	echo dir>>%FTP_File%
      	
      	REM Change le dossier de travail DISTANT
      	echo cd mon_nom_de_dossier>>%FTP_File%
      	
      	REM Change le dossier de travail LOCAL
      	echo lcd mon_nom_de_dossier>>%FTP_File%
      	
      	REM Crée un dossier sur l'ordinateur DISTANT
      	echo mkdir mon_nom_de_dossier>>%FTP_File%
      	
      	REM Supprime le dossier DISTANT
      	echo rmdir mon_nom_de_dossier>>%FTP_File%
      	
      	REM Renomme un fichier DISTANT
      	::echo rename fichier.extension new_name.extension>>%FTP_File%
      	
      	REM Supprime le fichier DISTANT
      	::echo delete mon_fichier>>%FTP_File%
      	
      	REM Supprime tout les fichiers DISTANTS du dossier de travail courant
      	::echo mdelete *>>%FTP_File%
      	
      	REM Récupère (télécharge) un fichier
      	echo get mon_fichier.extension>>%FTP_File%
      	
      	REM Récupère (télécharge) plusieurs fichiers. (*.* = tout les fichiers du dossier de travail DISTANT)
      	::echo mget *.*>>%FTP_File%
      	
      	REM Upload un fichier
      	echo put mon_fichier.extension>>%FTP_File%
      	
      	REM Upload plusieurs fichiers. (*.txt = tout les fichiers avec l'extension .txt du dossier de travail LOCAL)
      	::echo mput *.txt>>%FTP_File%
      :: Les commandes pour FTP - Que faire ::
      
      
      :: Les commandes pour FTP - Déconnexion ::
      	REM Termine la session ftp en cours
      	echo close>>%FTP_File%
      	
      	REM Quitte le mode FTP
      	echo bye>>%FTP_File%
      :: Les commandes pour FTP - Déconnexion :
      GOTO:EOF
      



      • Partager sur Facebook
      • Partager sur Twitter
        26 septembre 2023 à 9:37:08

        Bonjour Zaibai,

        Merci de ton effort. 

        Je confirme que les identifiant et mot de passe sont corrects. De plus, le fichier se trouve bien dans le serveur FTP.

        L'invite de commande indique "Login incorrect".

        Je vais jeter un coup d'œil sur ta proposition qui me semble complexe à première vue mais je me dis que "l'apprentissage vient avec la difficulté". 

        -
        Edité par LHH_120 26 septembre 2023 à 9:47:39

        • Partager sur Facebook
        • Partager sur Twitter
          26 septembre 2023 à 20:06:18

          Et si tu test le même login et mot de passe via Filezilla par exemple, ça fonctionne ?

          Il y a peut-être un caractère (accent, ponctuations) qui est mal interprété dans le terminal/script.

          Par exemple, si tu as un '@' dans ton password, la syntaxe ne sera plus correct.

          Tu peux essayer cette syntaxe :

          wget --ftp-user=login --ftp-password=password ftp://serveur/chemin/fichier.extension

          -
          Edité par Zaibai 26 septembre 2023 à 20:06:26

          • Partager sur Facebook
          • Partager sur Twitter
            29 septembre 2023 à 15:00:55

            Hello Zaibai,

            A force de persévérance, j'ai fini par trouver la solution au problème. Le mot de passe comporte le caractère "%" à la fin de la chaîne de caractères. Mais, j'ai eu une intuition à propos de BATCH. J'ai ajouté un deuxième "%" accolé au premier, qui cette fois, a enfin permis l'ouverture de ma session sur le serveur FTP. Dans la réponse à ma demande d'ouverture, le système afficha jusqu'à présent mon mot de passe sans "%" d'où son refus d'ouverture de session.  2 semaines que je bloque à cause de cela !!!!!!

            Voici mes résultats trouvés ultérieurement après plusieurs essais :

            rem Récupération de tout fichier dans le serveur FTP comportant dans sa désignation NewAdd et à extension .txt:  wget ftp://login:mdp@ftp.<servername>/*NewAdd*.txt  
            rem Récupération de tout fichier dans le serveur FTP à extension .txt:  wget ftp://login:mdp@ftp.<servername>/*.txt* 
            rem Récupération du fichier File.txt du serveur FTP à extension .txt vers une destination choisie : wget ftp://login:mdp%%@ftp.<servername>/File.txt  -P /path/folder
            rem Récupération de plusieurs fichiers du serveur FTP à extension .txt vers une destination choisie : wget ftp://login:mdp%%@ftp.<servername>/*NewPuky*.txt  ftp://login:mdp%%@ftp.<servername>/*PhotosPuky*.txt  -P /path/folder


            En ce moment, je travaille à ne récupérer que le fichier le plus récent dans le cas où on aurait plusieurs fichiers de même désignation dans le serveur FTP. 

            Merci malgré tout. 

            -
            Edité par LHH_120 29 septembre 2023 à 15:11:37

            • Partager sur Facebook
            • Partager sur Twitter

            Automatiser la récupération d'un fichier avec WGET

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown