Problème récupération fichier FTP erreur 503 use Auth first
Fermébrupala Messages postés 110677 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 16 décembre 2024 - 15 déc. 2023 à 20:08
- Filezilla 503 use auth first
- Salat first - Télécharger - Histoire & Religion
- Salaat first pc - Télécharger - Agendas & Calendriers
- Batch net use - Forum Réseau
- Use iphone as webcam - Guide
- Easy use data recovery - Télécharger - Récupération de données
5 réponses
15 déc. 2023 à 10:46
Je ne suis pas un specialiste des batch, mais l'erreur indique que vous tentez une action avant de vous etre authentifié...
Y'aurait pas 2 lignes a inverser dans votre batch ?
15 déc. 2023 à 11:04
merci pour votre aide mais non ce n'est pas cela j'ai déjà essayé
15 déc. 2023 à 11:43
Et Filezilla, n'as pas un log d'erreur ?
15 déc. 2023 à 11:52
Non lorsque je me connecte avec Filezilla tout se passe bien. Sauf que bien enttedu mon but n'est pas d'utiliser filezilla mais de faire un .bat pour le mettre dans une tâche planifiée par la suite et automatiser la récupération du fichier en question
15 déc. 2023 à 11:53
Bonjour,
Il me semble de mémoire (un moment que je ne touche plus à ça) que FileZilla ne sait pas "scripter" sauf la commande fzcli de FileZilla Pro, qui est payant.
Ce qui rendrait compte de l'erreur observée via FileZilla (mais pas de celle via la commande ftp qui elle utilise le client ftp Windows par défaut).
Modifié le 15 déc. 2023 à 13:31
Salut,
ça n'existe pas la commande ftp
user toto mdp
c'est user toto c'est tout et il faut attendre le prompt pour le mot de passe
par exemple par une pause, puis le mot de passe .
je ne pense pas qu'on puisse faire du ftp avec un tel batch, il faut attendre le prompt et répondre ensuite.
Je faisais des choses comme ça autrefois mais avec des scripts Teraterm qui sont beaucoup plus puissants.
En plus de ça, on ne met JAMAIS un mot de passe en clair dans un script.
15 déc. 2023 à 13:33
Bonjour,
Bien sûr que si, la réunion sur une seule ligne est utilisée après le commutateur
ftp -n qui réinitialise le mot de passe, voir par exemple ici en 19.
https://stackoverflow.com/questions/16158138/how-to-ftp-with-a-batch-file
Je n'aime pas la syntaxe et je préfère utiliser deux entrées distinctes, mais ce n'est pas pour ça qu'elle n'existe pas.
Si on met le mot de passe à la volée et qu'il y a d'autres utilisateurs potentiels du PC, on doit bien sûr soit détruire le script lui-même après utilisation, soit détruire le fichier de paramètres, voir par exemple là mais c'est une autre question:
https://www.robvanderwoude.com/ftp.php
Modifié le 15 déc. 2023 à 14:27
D'un autre côté, il y a plus simple:
Curl est inclus à windows : https://www.ionos.fr/digitalguide/serveur/outils/debuter-dans-curl-sous-windows/ et wget s'y installe facilement.
Les deux prennent le format url:
rajouter le dossier de sortie par -o dans curl et -O dans wget et ça doit rouler mieux que ftp.
curl permet l'upload aussi.
15 déc. 2023 à 15:37
Merci brupala,
J'ai testé curl (que je ne connaissait pas) cela smeble facile mais finalement j'arrive au même résultat : erreur curl: (67) Access denied: 503
15 déc. 2023 à 15:59
ah tu mets quoi comme ligne de commande ?
15 déc. 2023 à 16:02
curl -k ftp://int-clt.TOTO.fr:21000 --user USERTOTO:MDP_TOTO
je n'ai même pas mis de ligne pour récupérer le fichier. Je n'en suis qu'à la connexion
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question15 déc. 2023 à 19:45
Merci a tous et à toutes pour votre aide.
Le problème est résolu la commande FTP ne gérait pas le formats TLS (je crois avoir compris que cela venait de la vielle version de windows Serveur d'où etait lancé la commande.
J'ai finalement installé WinSCP et écrit ce batch tout simple qui fonctionne très bien
1 le .bat
del "c:\repertoire_de_destination\*.CSV" /Q
del "c:\toto\log.txt\*.CSV" /Q
"c:\program file (x86)\winscp\wincsp.exe\" /log="c:\toto\log.txt" /ini=nul /script="c:\toto\script.txt"
2 le fichier de commande script.TXT
open ftpes://nom_user:password@nom_serveur:N°du_port/
get /*.csv "c:\repertoire_de_destination\*.*"
exit
15 déc. 2023 à 20:08
Oui,
winscp, je ne savais pas qu'il faisait du ftps, je suis toujours resté sur sftp (SSH), qui est bien plus pratique, mais il faut un serveur unix/linux, hélas windows ne gère pas à ma connaissance, bien qu'on ait un client ssh maintenant, pourquoi pas un serveur.
le client windows server, OK, il tourne sur quoi ton serveur ?
15 déc. 2023 à 11:35
Bonjour,
Non puisque la commande ftp lit le fichier de paramétrage log.ftp avant d'être exécutée et que l'authentification y survient juste après la connexion.
Ce fichier de paramétrage n'est pas forcément au format .ftp (.txt suffit) et on ne voit pas l'intérêt de le recréer à la volée à chaque exécution.
Si on ne veut pas la rémanence des identifiants, il faudra supprimer le Batch, retour à la case départ, ou intégrer dans le Batch la suppression du fichier .txt sur le disque après emploi.
Pour revenir à nos moutons, il me semble que si on veut que identifiant et mot de passe soient sur la même ligne, on doit comme les autres utiliser le commutateur -n avant le nom du fichier:
ftp -n -s:C:\toto\log.ftp
Mais puisque l'on écrit pas au kilomètre et qu'on passe par un fichier de paramétrage, rien n'interdit non plus, cette fois-ci sans le commutateur -n, au lieu de:
echo user username password
deux lignes successives:
echo username
echo password
La commande de PATH est par ailleurs discutable (il me suffit de qualifier le chemin de copie du script), et celle qui suit ne sert à rien puisque C:\Windows\System32 fait partie du PATH par défaut et que ftp.exe s'y trouve.
15 déc. 2023 à 11:50
Bonjour brucine merci de vous intéresser à mon problème. Pour ce qui est de la suppression du log.ftp je suis d'accord le but premier étant de télécharger un fichier la finalité de script c'est pour plus tard.
J'ai aussi tester avec un batch contenant la ligne
ftp -s:toto.ftp et aussi ftp -s:toto.ftp -n
puis le script :
open int-clt.toto.fr 21000
AUTH TLS
user ID_TOTO MDP_TOTO
prompt
get /SOC-TIERS.CSV
quit
Mais j'ai la même erreur.
Je note aussi aussi tu parle de faire 2 lignes d'identification
echo username
echo password
J'avais déjà cherché de ce coté mais la ligne
echo password MDP_TOTO me retourne une erreur "commande non valide".
15 déc. 2023 à 13:45
Je n'ai pas d'erreur dans le fichier de Log après avoir recopié servilement ton script sauf évidemment le dossier personnalisé et la commande ftp elle-même, bien qu'à un echo global, mais chacun le sien, je préfère rediriger chaque ligne:
echo open int-clt.toto.fr 21000>>log.txt
echo user USER_TOTO MDP_TOTO>>log.txt
Il n'y a pas de raison que la commande echo ne soit pas valide, elle recopie ce qu'on lui demande au kilomètre sauf caractère spécial non échappé.
Mais qui n'est pas echo password MDP_TOTO>>log.txt mais
echo MDP_TOTO>>log.txt: la séquence ftp sait que, dans l'ordre, c'est l'identifiant et le mot de passe qu'elle attend.