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

 C Discussion :

Commandes FTP et system() ?


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut Commandes FTP et system() ?
    Bonjour,

    Je suis en train de faire un petit programme de backup que je lancerai quand je le souhaiterai.
    Il upload sur plusieurs FTP dans le cloud.

    La manière la plus facile que j'ai trouvé ( pour utiliser les commandes de logiciels ) est d'utiliser system().

    J'aimerai tout mettre dans un seul fichier .c et le compiler.

    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("ftp.exe -v -i -s:free.txt");
    Avec free.txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    open blabla.com
    user
    pass
    mput fichier.rar
    bye
    Sauf que je suis obligé d'avoir le fichier free.txt à coté du .exe... ( même si je dis à code:blocks de le compiler, normal !

    Existe-il un moyen de rentrer ces informations à la suite ?

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    system("ftp.exe -v -i");
    printf("open blabla.com");
    ...
    Bien entendu, printf n'est pas la commande adéquate.

    Voilà voilà je vous remercie je pense que ça ne devrait pas être compliqué mais je ne trouve aucune autre information sur le net...

  2. #2
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Euuuuuh...
    Vouloir faire comme ça, c'est... "possible", mais tu auras toujours le fichier à côté !

    Le mieux est de chercher une lib qui gère le FTP, et tu écris en dur dedans tes instructions...
    Voire tu fais un fichier à côté qui ne contient qu'une liste de fichiers à sauvegarder, et tu fais des "put" uniquement de ceux-ci...
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    D'accord, je vais alors chercher une librairie.

    Je ne veux absolument aucun fichier, le seul que je souhaite avoir est le exe.

    Je te remercie

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par alexis57 Voir le message
    D'accord, je vais alors chercher une librairie.
    Pour quel OS ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Ce que tu souhaites ressemble plus pour moi à un script (type shell). Quelles sont tes motivations pour plutôt t'orienter vers un programme en C ?

  6. #6
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 623
    Points : 1 554
    Points
    1 554
    Par défaut
    Hello,

    Si tu tiens à programmer cela en C, il existe une bonne librairie: curl. Et ce qui ne gâche rien, de nombreux exemples sont disponibles.
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

  7. #7
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Tu as plusieurs choix avec des avantages et des inconvénients :

    • le script, comme te le conseille bktero, est sans doute la solution la plus simple et la plus flexible, que ce soit un batch ou un cmdlet powershell. Facile à maintenir, modifier et tester. C'est certainement la solution vers laquelle je m'orienterais en premier jet.
    • utiliser le programme ftp via system est une autre solution ; soit en gardant les fichiers scripts ftp (plus souple, ton code c reste simple) comme te le conseille Metalman soit en les embarquant dans ton code (moins souple, code plus compliqué) mais il te faudra écumer la doc comme cet article.
    • utiliser une bibliothèque externe c. Curl que te conseille Edgarpjacobs est une excellente bibliothèque. C'est la seule et unique solution qui te permette non seulement de te passer de fichiers scripts et du programme ftp; de plus en liant statiquement tu pourras même avoir un .exe qui se suffit à lui-même, même s'il sera plus gros.


    Les solutions sont présentées de la plus simple et plus souple mais plus dépendante, à la plus complexe et rigide mais indépendante. Après c'est toi qui vois selon tes besoins.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/08/2011, 19h24
  2. Commande ftp pour récupérer un répertoire entier
    Par SuperCed dans le forum Développement
    Réponses: 3
    Dernier message: 09/01/2008, 09h06
  3. commandes ftp
    Par spirit_epock dans le forum Modules
    Réponses: 2
    Dernier message: 22/03/2006, 14h17
  4. Commande FTP - tester retour des "put"
    Par pimousse_on_ice dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 01/03/2006, 15h02
  5. [Appli Console]Pb exec command ac fct system(const char *)
    Par Le_magicien999 dans le forum MFC
    Réponses: 2
    Dernier message: 16/08/2005, 16h07

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