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 C Discussion :

Récupérer des données sur un compte ftp free


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Récupérer des données sur un compte ftp free
    Bonjour,

    Je cherche une solution pour récupérer beaucoup de données sur mon compte free sans passer par ftp. En faites je voudrais proposer sur un compte free un ensemble de beaucoup de fichiers qui puisse etre téléchargées d'un coup sans etre pour autant dans une archive commune.
    Est il possible d'obtenir les données sans passé par ftp ?
    J'ai essayé tftp mais ça ne fonctionne pas car je sais pas l'hote pour free : tfp -i login@free.fr get file free ?? ou mettre le mot de passe.

    Pour résumer sur le ftp free j'ai :
    Fichier1
    Fichier2
    Fichier3

    Je cherche à pouvoir faire télécharger les 3 fichiers d'un coup.
    J'ai essayé de faire un programme C qui se connecte avec les commandes system mais ça ne fonctionne pas on m'a dit de passer par les sockets (le probleme c'est que je suis en tongue ), le probleme c'est que je trouve de tuto qui explique tout ça avec free et surtout de savoir si c'est possible avec free.
    Je connais rien en réseau donc si vous pouviez juste me donner les lignes directrices à suivre et à apprendre car je viens de lire plein de site sur les réseaux je sais pas si ce que je veux faire est possible car aucun à répondu à mes attentes.
    Est il possible de faire un programme C qui se connecte à mon compte free par un socket et qui ramene tout le contenu vers l'ordinateur local?



    Merci pour votre aide,
    M

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Mistervanhalen Voir le message
    Je cherche une solution pour récupérer beaucoup de données sur mon compte free sans passer par ftp.
    Il n'y a que 2 solutions : ftp et http.
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    D'abord tftp c'est pas pareil que ftp l'un est en mode non connecté et l'autre en connecté :p
    Ensuite ftp te permet de telecharger des fichiers si tu as le mot de passe ou si le compte est en anonyme... Ce qui n'est pas le cas chez free...
    Donc tu vas devoir telecharger via http...
    Il te reste le choix de lire la rfc est de créer un client http qui telecharge tes fichiers ou alors wget http://server/fichier1 http://server/fichier2 http://server/fichier3, il existe des aspirateurs de site plus "simple"

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Tout d'abord merci de m'avoir répondu.

    J'ai bien essayé de faire un programme en C pour me connecter au ftp mais ça fonctionne pas (je connais pas grand chose en réseau)
    J'ai écris dans les grandes lignes :
    system("ftp ftpperso.free.fr");
    system("login"); => cette ligne vient pas remplir la ligne donc la connexion ne se fait pas c'est normal j'ai compris -ed-
    ...
    system("get atom1.gz");
    ...

    @nicolas2117 : As tu un lien pour rfc car je sais pas ce que c'est ? je préfére pas d'aspirateur, en faites mon but mais je sais pas si c'est possible serait que le client clique et ça lui DL tout sans qu'il est à executer un programme de son coté ou alors juste petit programme C rapide et simple.

    Je viens de me documenter sur les sockets en C. Est ce une solution ? Est ce possible avec free ?
    Un programme C une liaison direct avec mon compte free pour récuperer les données est ce possible ?
    Merci d'avance.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Mistervanhalen Voir le message
    Tout d'abord merci de m'avoir répondu.

    J'ai bien essayé de faire un programme en C pour me connecter au ftp mais ça fonctionne pas (je connais pas grand chose en réseau)
    J'ai écris dans les grandes lignes :
    system("ftp ftpperso.free.fr");
    system("login"); => cette ligne vient pas remplir la ligne donc la connexion ne se fait pas c'est normal j'ai compris -ed-
    ...
    system("get atom1.gz");
    ...
    Bon c'est pas du tout bon... system execute un binaire comme ftp mais ensuite tu lui dit d'executer login et get qui n'existe pas...
    La solution est de coder un client ftp pour download ton fichier si tu veus ftp a tous pris, néanmoins j'espere que les sockets sont tes amis
    Si c'est ftp sa signifie mot de passe donc si tu donnes ton fichier à quelqu'un il pourra en déassemblant ton programme ou en sniffant le trafic reseau recuperer ton passe en clair... Donc pour un programme "distribué" préferer le protocole http
    @nicolas2117 : As tu un lien pour rfc car je sais pas ce que c'est ? je préfére pas d'aspirateur, en faites mon but mais je sais pas si c'est possible serait que le client clique et ça lui DL tout sans qu'il est à executer un programme de son coté ou alors juste petit programme C rapide et simple.
    Amuse toi http://abcdrfc.free.fr/
    Je viens de me documenter sur les sockets en C. Est ce une solution ? Est ce possible avec free ?
    Un programme C une liaison direct avec mon compte free pour récuperer les données est ce possible ?
    Merci d'avance.
    Oui les socket te permettent d'utiliser les protocoles ftp et http.

    Le plus simple serait peut etre d'utiliser cette api windows http://msdn2.microsoft.com/en-us/library/ms775123.aspx
    Il te faudra urlmon.h et .lib cherche sur code source dans Cpp tu devrais trouver comment utiliser l'api et compiler :p

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Points : 325
    Points
    325
    Par défaut
    System execute un programme externe, mais une fois lancé tu n'as plus réellement de controle sur lui...

    La solution est de faire un fork (cas UNIX et assimilés) en ayant changé les descripteurs standard comme cela tu peux ecrire sur l'entrée standard du programme que tu lances (ftp) et lire sur sa sortie standard.

    En Windows, il faudra faire un CreateProcess me semble-t-il.

    tu devrais trouver des exemples assez facilement

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup pour vos réponse. Sur l'API que vous m'avez conseillé j'ai trouvé la library wininet et j'ai réussi avec grace à un exemple un forum
    Merci beaucoup pour votre aide.
    Si ça peut aider du monde voici un code simple qui fonctionne pour envoyer ou pour dl des fichiers sur un ftp en langage C :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    /*Maj : 24/08/2007 Test FTP*/
    /*Ne fonctionne que sous Windows !!*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <Wininet.h>
    int main(void)
    {
      HINTERNET hsession, hftp;
      hsession = InternetOpen ("ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
      if(hsession == NULL)
      {
          printf("*****ERROR*****\n" );
          return 1;
      }
      hftp = InternetConnect(hsession, "ftpperso.free.fr", INTERNET_DEFAULT_FTP_PORT, "login", "mdp", INTERNET_SERVICE_FTP, 0, 0);
      if(hftp)
       {
              /*Envoie de fichier*/
         /*FtpPutFile(hftp,"atom1.tar.gz"/*fichier recherché*/, "atom1.tar.gz"/*fichier créé*/, FTP_TRANSFER_TYPE_BINARY, 0);*/
     
            /*Reception de fichier*/
          FtpGetFile(hftp, "atom1.tar.gz", "atom1.tar.gz",1/*Gère si fichier exist*/,FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0);
     
     
         InternetCloseHandle(hftp);
      }
      else printf("******ERROR*******\n" );
      InternetCloseHandle(hsession);
      system("pause" );
      return 0;
    }
    J'ai pas de mérite ce code vient d'un forum j'ai simplement modifié quelques trucs à partir de l'API.

    Et bien sur l'adresse de L'API http://msdn2.microsoft.com/en-us/library/aa384157.aspx
    Merci beaucoup pour votre aide !! Je vais quand meme essayer d'autres systemes histoires d'apprendre un peu différente solution notement les sockets que je commence à comprendre un peu et trouver une solution pour linux aussi.

Discussions similaires

  1. Récupérer des données sur un site
    Par frizou11 dans le forum Langage
    Réponses: 1
    Dernier message: 14/02/2008, 14h19
  2. Récupérer des données sur 3 tables..
    Par sanaell dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/05/2007, 20h03
  3. Réponses: 3
    Dernier message: 28/01/2007, 19h25
  4. récupérer des données sur une clef USB
    Par mullger dans le forum Périphériques
    Réponses: 6
    Dernier message: 25/09/2006, 18h38
  5. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22

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