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 :

Lire un fichier web


Sujet :

C++

  1. #1
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut Lire un fichier web
    Bonjour,

    Je cherche LA fonction C++ (sans MCF !) qui me permette de lire le contenu d'un fichier Web.
    L'équivalent de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fstream filestr;
      filestr.open ("http://www.toto.fr/fichier.txt", fstream::in | fstream::out | fstream::app);
      filestr.close();
    Mais qui fonctionne puisque fstream ne fonctionne pas en HTTP.

    Ca parait simple... mais non.

    Merci.
    Dos

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    non ça n'a rien de simple, et il ne s'agit certainement pas d'une fonction magique.
    Si tu pars vraiment de rien, il te faut un socket, le connecter au serveur, effectuer la bonne requête HTTP/GET (ou que sais-je, je n'ai jamais fait ces manipulations), et enfin récupérer le contenu, probablement sous forme d'une réponse à ta requête.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    Merci pour ta réponse... ça me conforte un peu. En MFC c'est tout simple y a une classe qui fait ça très bien (CInternetFile). Mais comme je ne peux pas l'utiliser j'ai trouvé des librairies type 'curl' qui me permettraient de le faire mais ça m’embête de traîner tout un tas de lib pour pas grand chose...
    Si qql à le code 'magique'...
    Dos

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Je ne crois pas qu'il y est de code magique en C++.
    Il faut forcément que tu passes par une lib équivalente à "MFC"...
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Pour pouvoir t'orienter vers "le meilleur choix possible", il faudrait surtout savoir ce que tu comptes faire du fichier une fois que tu l'as récupéré

    Si tu veux récupérer les informations renvoyées par le serveur afin de remplir un "set" de données personnel et pouvoir les manipuler par la suite, curl et certaines bibliothèques de gestion de fichiers XML seront sans doute particulièrement adaptées et correspondront sans doute au "minimum indispensable" qu'il te faudra utiliser (même si tu peux toujours décider de les implémenter par toi-même, mais ce serait à mon sens se faire du mal pour rien )

    Si par contre, l'idée est de "simplement" afficher la page web "quelque part" (j’entends par là: dans une application graphique qui ne serait pas forcément le navigateur web), il y a de fortes chances pour que tu aies, de toutes manières, besoin d'une bibliothèque graphique comme Qt, WxWidget ou autres (dont MFC auxquelles je suis personnellement allergique ) pour ton application.

    A ce moment là, la meilleure solution consiste sans doute à utiliser ce qui est fourni par la bibliothèque en question pour récupérer le contenu du fichier

    Et si tu veux faire "un peu les deux" (comprend: afficher la page d'une part, mais récupérer des informations pour les manipuler d'autre part), les choix possibles se multiplient "comme les petits pains"

    En résumé, on peut dire que tu auras d'office besoin d'une bibliothèque externe, à moins que tu ne décide de l'implémenter toi-même (ce que je te déconseille très fortement ) mais que le choix de la bibliothèque externe utilisée dépendra essentiellement de ce que tu veux faire exactement et de ce que tu prévois d'utiliser pour d'autres parties éventuelles
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Est-ce que tu est sous Windows ?
    Citation Envoyé par Dos Voir le message
    Merci pour ta réponse... ça me conforte un peu. En MFC c'est tout simple y a une classe qui fait ça très bien (CInternetFile). Mais comme je ne peux pas l'utiliser j'ai trouvé des librairies type 'curl' qui me permettraient de le faire mais ça m’embête de traîner tout un tas de lib pour pas grand chose...
    Si qql à le code 'magique'...
    tout est expliqué sur le site du MSDN de Microsoft
    Il faut appeler WinInet
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    Tu peux très bien faire un programme en ligne de commande /console sans avoir besoin de MFC ou Qt ou autres,il suffit d'inclure le bon fichier d'include correspondant
    Par contre tu auras besoin sans doute de lancer des threads pour faire des commandes HTTP

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    Je ne crois pas qu'il y est de code magique en C++.
    Il faut forcément que tu passes par une lib équivalente à "MFC"...
    pas forcément sous Windows on peut passer par les API de base de l'OS , WinInet
    Tout est expliqué sur le MSDN
    (sous Linux c'est différent)
    Je peux très bien écrire un client FTP sans recourir à MFC ou Qt

  8. #8
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    J'ai finalement trouvé mon bonheur en modifiant le code source :
    https://enderteclauncher.svn.codeple...lsdownload.cpp
    J'ai modifié la fonction download pour quelle me retourne un buffer au lieu d’écrire dans un fichier.
    Merci à tous.
    Dos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP - Lire un fichier sur un site web
    Par kleoptras dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2009, 08h29
  2. activeX pour lire fichier web par playSound()
    Par Lorantus dans le forum C++
    Réponses: 1
    Dernier message: 18/08/2008, 18h19
  3. Réponses: 1
    Dernier message: 10/03/2007, 15h10
  4. Lire un fichier texte présent sur un serveur Web
    Par Matt2094 dans le forum Web & réseau
    Réponses: 17
    Dernier message: 09/05/2006, 16h20
  5. [Struts] Lire un fichier properties situé ds WEB-INF
    Par tscoops dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/02/2005, 14h33

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