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

Bibliothèques C++ Discussion :

[POCO] Telecharger un fichier Zip avec HTTPStreamFactory


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut [POCO] Telecharger un fichier Zip avec HTTPStreamFactory
    Bonsoir,

    Je cherche à télécharger un fichier zip depuis un serveur web en utilisant la classe HTTPStreamFactory de la lib POCO 1.5.0.

    L'échange se fait en HTTPS.
    J'ai bien regardé l'exemple qu'ils donnent dans leur version full : il consiste à télécharger un fichier texte et à l'afficher dans la console.
    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
    34
     
    #include "Poco/URIStreamOpener.h"
    #include "Poco/StreamCopier.h"
    #include "Poco/Path.h"
    #include "Poco/URI.h"
    #include "Poco/Exception.h"
    #include "Poco/Net/HTTPStreamFactory.h"
    #include "Poco/Net/FTPStreamFactory.h"
    #include <memory>
    #include <iostream>
     
     
    using Poco::URIStreamOpener;
    using Poco::StreamCopier;
    using Poco::Path;
    using Poco::URI;
    using Poco::Exception;
    using Poco::Net::HTTPStreamFactory;
    using Poco::Net::FTPStreamFactory;
     
    try
    {
            HTTPStreamFactory::registerFactory();
    	FTPStreamFactory::registerFactory();
     
    	URI uri(argv[1]);
    	std::auto_ptr<std::istream> pStr(URIStreamOpener::defaultOpener().open(uri));
    	StreamCopier::copyStream(*pStr.get(), std::cout);
    }
    catch (Exception& exc)
    {
    	std::cerr << exc.displayText() << std::endl;
    	return 1;
    }
    J'aimerais pouvoir écrire ce que j'ai téléchargé non dans la console mais dans un fichier binaire. Est-ce possible avec StreamCopier::copyStream ? Si oui, où puis-je trouver une démo de la chose?

    Je pense qu'en ce qui concerne la décompression du fichier Zip en question, la couche Zip m'apportera tout le support dont j'ai besoin.

    Merci par avance pour cette réponse

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    Bonjour, un petit up pour ce message, si quelqu'un a une idée.

    Merci & bonne journée.

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Oui, bien sûr, il suffit d'utiliser le stream de ton choix à la place de std::cout.
    Un ofstream, par exemple.

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    Merci pour cette réponse.

    Ca a l'air simple, je vais tester ça dans la soirée.
    http://www.cplusplus.com/doc/tutorial/files/

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    Bonsoir,

    Par rapport à ma question originale et à la réponse apportée, l'implémentation est ralentie par l'authentification.

    En effet, je souhaiterais pouvoir permettre l'authentification HTTP Digest pour télécharger le fichier en question.

    Est-ce possible avec Poco::URIStreamOpener ?
    Je n'ai rien vu de tel dans la documentation.

    Merci par avance.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Par défaut
    Salut! Pour la clarté (et pour augmenter tes chances d'obtenir une réponse) il est recommandé en général de faire un sujet/question...
    Pour être exact, je veut dire créer une nouvelle thread quand tu poses une question différente, sans rapport avec la question initiale (ce qui est me semble-til le cas entre le mode de sortie (console vs fichier ZIP) mode de connection (utiliser une autre API pour accélérer la connection)

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

Discussions similaires

  1. Décompression de fichier ZIP avec 7zip en ligne de commande
    Par jam92400 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 20/02/2019, 14h39
  2. Réponses: 0
    Dernier message: 18/11/2013, 18h43
  3. telecharger un fichier zip qui contient une liste de fichier à supprimer
    Par joulive dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 29/07/2009, 13h54
  4. [Zip] Création d'un fichier zip avec zip.lib.php corrompue
    Par fdthierry dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 02/06/2008, 14h01
  5. Réponses: 1
    Dernier message: 18/02/2008, 07h53

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