Batch connection ftp ssl
Fermé
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
-
1 mai 2013 à 20:34
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - 11 mai 2013 à 22:06
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - 11 mai 2013 à 22:06
114 réponses
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 12:57
2 mai 2013 à 12:57
CURL IL VA ME FALLOIR LA LIGNE POUR L APPELER AVEC MON BATCH ET LE FICHIER TXT LES CONFIGUE
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 14:20
2 mai 2013 à 14:20
SUR LE NET JE TROUVE RIEN SUR L UTILISATION DE CURL J AI JUSTE REUSI A LENCER LE TRUCK JE C EST MEME PAS SI FAUT REMPLIR UN TXT ET LA NOTISE DONNER ET PAS CLAIRE
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 14:45
Modifié par ryko1820 le 2/05/2013 à 14:45
Bon déjà avec cURL pas de mget *.* si les nom des fichiers à downloader sont inconnus il faudra faire une première connexion pour lire le contenu du fichier avec le batch, puis positionner des variables.
Un truc du genre :
Pour lister le contenu du répertoire, le lire, puis (comme plus bas et en fonction de ce qu'on aura trouvé) positionner des variables pour les noms de fichier. Pas possible d'utiliser un fichier de config. comme ton ftp.txt dans cURL.
Ensuite pour le certificat (tu comptes le distribuer aussi ?), il peut être nécessaire d'utiliser une de ces commandes dans tes lignes de commandes :
et/ou peut être une de celle-ci : ^^
J'ai testé avec un ftp public (donc pas SSL) :
ça donne un truc du style
commandes qu'il sera peut-être nécessaire d'affiner pour effectuer un transfert en binaire, mais apparemment cURL le gère (a moins que le binaire ne soit sont mode de transfert par défaut) auquel cas il faudra affiner pour le transfert en ASCII ...
Sinon on peut aussi utiliser la forme :
curl -O -u user_id:user_passwd sftp://adresse_du_serveur:22/home/ryko/XXX.zip
Alors je suppose qu'on peut aussi utiliser :
-O c'est pour dire à curl d'utiliser le nom distant du fichier comme nom local (comportement par défaut sortie console) on peut aussi spécifier -o pour donner un nom différent en local ...
-u pour le couple nom_d_utilisateur:mot_de_passe
Un truc du genre :
curl -O -u anonymous:ryko1820@commentçamarche.net "ftp://ftp2.fr.openbsd.org/pub/math/sagemath/"
Pour lister le contenu du répertoire, le lire, puis (comme plus bas et en fonction de ce qu'on aura trouvé) positionner des variables pour les noms de fichier. Pas possible d'utiliser un fichier de config. comme ton ftp.txt dans cURL.
Ensuite pour le certificat (tu comptes le distribuer aussi ?), il peut être nécessaire d'utiliser une de ces commandes dans tes lignes de commandes :
--ftp-skip-pasv-ip Skip the IP address for PASV (F) --ftp-ssl Try SSL/TLS for ftp transfer (F) --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F) --ftp-ssl-reqd Require SSL/TLS for ftp transfer (F) --ftp-ssl-ccc Send CCC after authenticating (F) --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)
et/ou peut être une de celle-ci : ^^
-E/--cert <cert[:passwd]> Client certificate file and password (SSL) --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL) --key <key> Private key file name (SSL/SSH) --key-type <type> Private key file type (DER/PEM/ENG) (SSL) --pass <pass> Pass phrase for the private key (SSL/SSH) --pubkey <key> Public key file name (SSH) --engine <eng> Crypto engine to use (SSL). "--engine list" for list --cacert <file> CA certificate to verify peer against (SSL) --capath <directory> CA directory (made using c_rehash) to verify peer against (SSL) --ciphers <list> SSL ciphers to use (SSL)
J'ai testé avec un ftp public (donc pas SSL) :
ça donne un truc du style
curl -O -u anonymous:ryko1820@commentçamarche.net "ftp://ftp2.fr.openbsd.org/pub/math/sagemath/robots.txt" curl -O -u anonymous:ryko1820@commentçamarche.net "ftp://ftp2.fr.openbsd.org/pub/math/sagemath/index.html" curl -O -u anonymous:ryko1820@commentçamarche.net "ftp://ftp2.fr.openbsd.org/pub/math/sagemath/sage_logo_new_l.png"
commandes qu'il sera peut-être nécessaire d'affiner pour effectuer un transfert en binaire, mais apparemment cURL le gère (a moins que le binaire ne soit sont mode de transfert par défaut) auquel cas il faudra affiner pour le transfert en ASCII ...
Sinon on peut aussi utiliser la forme :
curl -O -u user_id:user_passwd sftp://adresse_du_serveur:22/home/ryko/XXX.zip
Alors je suppose qu'on peut aussi utiliser :
curl -O -u user_id:user_passwd ftps://adresse_du_serveur:990/home/FRED/XXXX.zip
-O c'est pour dire à curl d'utiliser le nom distant du fichier comme nom local (comportement par défaut sortie console) on peut aussi spécifier -o pour donner un nom différent en local ...
-u pour le couple nom_d_utilisateur:mot_de_passe
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
2 mai 2013 à 15:04
2 mai 2013 à 15:04
si tu n'es pas à l'aise avec avec curl, wget est infiniment moins touffu mais je ne suis pas sûr de sa gestion des certificats SSL en ftps. Je crois que ce protocole est moins utilisé que le sftp en ligne de commande et du coup les outils moins nombreux.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
Modifié par FRED92G le 2/05/2013 à 16:55
Modifié par FRED92G le 2/05/2013 à 16:55
C EST DU FPT SSL SUR LE PORT 990 DONC PAS DE SFTP MES LA QUESTION QUE JE ME POSE SUR CURL FAUT T IL D UN TXT OU PAS
LE SERTIF MON SERVEUR LE DONNE DE LUI MEME VISIBLEMENT VUE QUE FILEZILLA LUI LA RECUS COMME SA
LE SERTIF MON SERVEUR LE DONNE DE LUI MEME VISIBLEMENT VUE QUE FILEZILLA LUI LA RECUS COMME SA
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 17:01
2 mai 2013 à 17:01
MOI EN LIGNE D APPEL J AI SA
%CD%\CLIENTFTPSSL\CURL -u USER:PASS -T "%cd%\CURL.TXT" ftp://XXXXXX.NO-IP.ORG:990
%CD%\CLIENTFTPSSL\CURL -u USER:PASS -T "%cd%\CURL.TXT" ftp://XXXXXX.NO-IP.ORG:990
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 17:14
Modifié par ryko1820 le 2/05/2013 à 17:14
Contrairement à filezilla ou même à ftp (qui offrent quelques conforts que l'on ne réalise pas (le LCD par exemple)) cURL dispose de peu de confort. Pour la gestion d'un cookie en http par exemple, il faut le coder dans le batch, lui dire quels données du cookie récupérer et ensuite les envoyer au serveur dans une autre requète ... mais cURL en http sait envoyer des formulaire en GET (facile) mais aussi en POST (plus marrant).
ça fonctionne ?
ça fonctionne ?
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 17:10
2 mai 2013 à 17:10
j ai prie cettte ligne
curl -O -u user_id:user_passwd ftps://adresse_du_serveur:990/home/FRED/XXXX.zip
et sa que j ai mie dans un txt avec mon batch mes qui l appel et comment j en c est rien
-E/--cert <cert[:passwd]> Client certificate file and password (SSL)
--cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)
--key <key> Private key file name (SSL/SSH)
--key-type <type> Private key file type (DER/PEM/ENG) (SSL)
--pass <pass> Pass phrase for the private key (SSL/SSH)
--pubkey <key> Public key file name (SSH)
--engine <eng> Crypto engine to use (SSL). "--engine list" for list
--cacert <file> CA certificate to verify peer against (SSL)
--capath <directory> CA directory (made using c_rehash) to verify
peer against (SSL)
--ciphers <list> SSL ciphers to use (SSL
curl -O -u user_id:user_passwd ftps://adresse_du_serveur:990/home/FRED/XXXX.zip
et sa que j ai mie dans un txt avec mon batch mes qui l appel et comment j en c est rien
-E/--cert <cert[:passwd]> Client certificate file and password (SSL)
--cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)
--key <key> Private key file name (SSL/SSH)
--key-type <type> Private key file type (DER/PEM/ENG) (SSL)
--pass <pass> Pass phrase for the private key (SSL/SSH)
--pubkey <key> Public key file name (SSH)
--engine <eng> Crypto engine to use (SSL). "--engine list" for list
--cacert <file> CA certificate to verify peer against (SSL)
--capath <directory> CA directory (made using c_rehash) to verify
peer against (SSL)
--ciphers <list> SSL ciphers to use (SSL
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
Modifié par FRED92G le 2/05/2013 à 17:12
Modifié par FRED92G le 2/05/2013 à 17:12
la reponce et simple sans txt sa marche en ssl sur le port 990 il recupere bien le sertif et il telechage bien mes seul pb faudrai qu il renge se qui telecharge directement au dossier temp
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 17:18
Modifié par ryko1820 le 2/05/2013 à 17:18
faut juste faire ton cd %temp% (ou je ne sais quoi), avant de lancer curl ...
ou utiliser l'option "-o %temp%nom_du_fichier_en_local.txt" (à la place de -O qui utilise le nom distant en local)
ou utiliser l'option "-o %temp%nom_du_fichier_en_local.txt" (à la place de -O qui utilise le nom distant en local)
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
Modifié par FRED92G le 2/05/2013 à 17:42
Modifié par FRED92G le 2/05/2013 à 17:42
pas comprie developpe stp le txt tu faire quoi avec la moi il telecharge sans donner d info juste non du fichier
voila les ligne direct dans le bat
%CD%\CLIENTFTPSSL\curl -O -u user:passet ftp://xxx.no-ip.org:990/lanceur.exe
%CD%\CLIENTFTPSSL\curl -O -u user:passet ftp://xxx.no-ip.org:990/versions.txt
sa fonctionne en interne comme externe bon les reseau hostpot comme sfr il on du brider le port 990 vue que chez eu pas de conection fessable
voila les ligne direct dans le bat
%CD%\CLIENTFTPSSL\curl -O -u user:passet ftp://xxx.no-ip.org:990/lanceur.exe
%CD%\CLIENTFTPSSL\curl -O -u user:passet ftp://xxx.no-ip.org:990/versions.txt
sa fonctionne en interne comme externe bon les reseau hostpot comme sfr il on du brider le port 990 vue que chez eu pas de conection fessable
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 17:54
Modifié par ryko1820 le 2/05/2013 à 17:54
Tu ne fais que récupérer des fichiers ?
Si tu souhaites qu'il s'enregistre dans un répertoire local défini soit :
1/ tu te déplaces dans ton script avant de faire le transfert :
ou
2/ tu utilises l'option "-o chemin_local\nom_du_fichier_local.xxx" de cURL à la place de l'option "-O" (qui enregistre dans le répertoire courant avec le nom distant en local).
Voilà ...
Si tu souhaites qu'il s'enregistre dans un répertoire local défini soit :
1/ tu te déplaces dans ton script avant de faire le transfert :
cd %cd%\temp
ou
2/ tu utilises l'option "-o chemin_local\nom_du_fichier_local.xxx" de cURL à la place de l'option "-O" (qui enregistre dans le répertoire courant avec le nom distant en local).
%CD%\CLIENTFTPSSL\curl -u user:passet ftp://xxx.no-ip.org:990/lanceur.exe -o %cd%\temp\lanceur.exe
Voilà ...
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 17:58
Modifié par ryko1820 le 2/05/2013 à 17:58
Pour SFR tu es sûr que c'est le port 990 ou 989 qui est utilisé ? Car si je me fie à https://fr.wikipedia.org/wiki/File_Transfer_Protocol_Secure le port 21 peut aussi être utilisé pour faire du FTPS.
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 17:59
2 mai 2013 à 17:59
faut voir avent selui de windows telecharger tout directement dans temp ou apres mon script allez conparai les fichier voir si cetter les meme version dans le repertoire source du programme
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 17:59
2 mai 2013 à 17:59
je supose que faire une comparaison avent telechargement sur le serveur et pas possible
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 18:03
2 mai 2013 à 18:03
la 2 eme solution m arrange pas comme tu te doute fichier txt egale cryptage vue que l adresse serveur va etre dedans que la je peu la couler dans le bat qui finira en exe donc sa sera invisible donc seule solution deplacer le curl.exe dans le temp dit moi les autre fichier fourni ave curl son t il utile ou je peu les virer et garder que le curl.exe
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
2 mai 2013 à 18:11
2 mai 2013 à 18:11
je v repondre sur et sertain vue que je me suis fier a la meme connerie pendent des heure si tu appel le serveur sur le port 21 il te repon sur le port 21 non securiser meme si tu lui dit du ssl explicite mes si tu appel le serveur sur le port 990 bizarment ta le ssl qui se mes en marche
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
2 mai 2013 à 18:12
2 mai 2013 à 18:12
Je vois pas pourquoi tu peux pas te déplacer avant de faire le transfert dans le répertoire temp mais si tu le dis ...
Par contre pour les fichiers à supprimer, à priori à part le .exe et les .dll le reste parait superflu.
Même les DLL peuvent ne pas être utiles (peut être pour des développeurs), pour voir supprime les unes par unes en lançant TA ligne de commande de curl dans cmd entre chaque suppression. Si ça plante restaure là de la corbeille. ^^
Par contre pour les fichiers à supprimer, à priori à part le .exe et les .dll le reste parait superflu.
Même les DLL peuvent ne pas être utiles (peut être pour des développeurs), pour voir supprime les unes par unes en lançant TA ligne de commande de curl dans cmd entre chaque suppression. Si ça plante restaure là de la corbeille. ^^
FRED92G
Messages postés
290
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
20 août 2022
4
Modifié par FRED92G le 2/05/2013 à 18:20
Modifié par FRED92G le 2/05/2013 à 18:20
je confirme curl exe seule sufie le reste et superflu donc on a la reponce dans ma racine je lesse curl et je dit au bat de le deplacer dans le temp avent de lencer les telechargement comme je fessai avec le ftp.txt avent
pour une conparaisson de fichier tu serai me dire si c est possible de la faire directement du serveur sans a devoir telecharger les fichier sur le client sa serai plus propre comme sa juste avoir une petite conection le client demande au serveur si il a la meme version il repon oui et ope le client passe a la suite ou si le serveur lui retourne nouvelle version il telecharge.
j espere avoir ete claire
la pour le moment je telecharge dans le temps donc le client compare son temps avec sa racine et fait sa mise a jou celon la conparaison du temps et racine
pour une conparaisson de fichier tu serai me dire si c est possible de la faire directement du serveur sans a devoir telecharger les fichier sur le client sa serai plus propre comme sa juste avoir une petite conection le client demande au serveur si il a la meme version il repon oui et ope le client passe a la suite ou si le serveur lui retourne nouvelle version il telecharge.
j espere avoir ete claire
la pour le moment je telecharge dans le temps donc le client compare son temps avec sa racine et fait sa mise a jou celon la conparaison du temps et racine
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 2/05/2013 à 18:26
Modifié par ryko1820 le 2/05/2013 à 18:26
Attention car si c'est du chiffrement explicite sur le port 21 (je ne sais pas quel est la différence mais je suppose que cela signifie qu'il faut le demander au serveur de passer en mode SSL), il faudrait aussi lancer une commande, peut être en utilisant l'option :
... J'ai pas la matos pour tester.
Toi tu sembles fonctionner en mode implicite donc pas besoin de dire quoi que ce soit au serveur pour lui dire que c'est en SSL que le transfert s'effectuera ... Contrairement à ton serveur SFR ... Peut être.
Enfin je dis ça mais j'y connais rien. :)
-X 'AUTH TLS'ou
-X 'AUTH SSL'sur la ligne de commande de curl.
... J'ai pas la matos pour tester.
Toi tu sembles fonctionner en mode implicite donc pas besoin de dire quoi que ce soit au serveur pour lui dire que c'est en SSL que le transfert s'effectuera ... Contrairement à ton serveur SFR ... Peut être.
Enfin je dis ça mais j'y connais rien. :)