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 :

StreamWriter et (de)compression gzip


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut StreamWriter et (de)compression gzip
    Bonjour à tous,

    Je voudrais télécharger un fichier gzippé sur un site demandant une authentification, puis le dezipper.

    Je procède comme ceci :
    1) J'envoie un HttpWebRequest avec login/pass en POST vers le site pour m'identifier
    2) Le site me dit "OK", je récupère au passage le cookie (très important)
    3) Avec ce cookie, je renvoie une requete GET avec l'url précise du fichier gzip, tant que le cookie est bon, je peux télécharger ce fichier.

    Problème :
    Mon but étant de décompresser ce fichier, il faut d'abord que je l'enregistre quelque part, j'utilise donc StreamReader pour lire le fichier téléchargé puis StreamWriter pour écrire sur le disque dur.

    Mais, si j'ouvre le fichier issu de StreamWriter avec un utilitaire de compression (rar/zip), il me dit que le fichier est corrompu.
    En effet, StreamReader/Writer n'a pas du écrire dans le bon mode..

    Comment lire/écrire du gzip avec StreamWriter ?

    PS : Je ne peux pas utiliser WebClient.DownloadFile() car ce dernier ne gère PAS les cookies.

  2. #2
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Salut.

    Et si tu essayais plutôt de lire / écrire ton fichier avec des BinaryReader / BinaryWriter ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut
    J'étais justement en train d'essayer, mais fichier corrompu quand meme, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Stream resin = res.GetResponseStream();
    BinaryReader br = new BinaryReader(resin, Encoding.UTF32);
    FileStream fs = new FileStream(@"C:\test.gz", FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs, Encoding.UTF32);
    int b;
    while ((b = br.Read()) != -1)
    {
        bw.Write(b);
    }
    Le fichier est toujours corrompu. Il est d'ailleurs rempli de caractères nuls (\0)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut
    Résolu avec Webclient.DownloadFile() (finalement !) les cookies fonctionne bel et bien grace à http://couldbedone.blogspot.com/2007...g-cookies.html

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

Discussions similaires

  1. Compression GZip pour fichiers CSS/JS chez 1&1
    Par Baptiste Wicht dans le forum 1&1
    Réponses: 2
    Dernier message: 26/08/2010, 16h48
  2. [C#]flux rss et compression gzip
    Par Pirion dans le forum C#
    Réponses: 9
    Dernier message: 11/03/2010, 09h02
  3. Compression GZIP avec un serveur LAMP
    Par ksven dans le forum Apache
    Réponses: 2
    Dernier message: 18/02/2009, 15h51
  4. activer/désactiver la compression GZIP des pages
    Par iubito dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 20/08/2008, 21h35
  5. compression Gzip d'une page html
    Par vivian dans le forum Langage
    Réponses: 6
    Dernier message: 03/07/2006, 18h10

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