2013-02-01 3 views
0

J'ai essayé depuis plus d'une semaine maintenant de pouvoir lire le contenu gzippé envoyé dans un Http Respose.Comment lire le contenu GZip envoyé dans une réponse http

OK, laissez-moi être plus précis - le serveur Web envoie une réponse qui a l'en-tête Content-Disposition et l'attribut de fixation, comme sous,

Content-Disposition: pièce jointe, filename = 00011122.txt

Je peux enregistrer tous les "en-têtes de réponse" qui me parviennent, mais je suis incapable de sauvegarder le fichier .txt qui est envoyé. De plus, après que tous les en-têtes aient été reçus, j'ai aussi reçu du texte de charabia, que je suppose être le fichier .txt.

Mais je n'ai absolument aucune idée de comment je peux enregistrer ce fichier et décompresser et afficher le contenu comme tout autre fichier texte. J'ai cherché sur Internet et essayé beaucoup de choses, mais rien ne semble pouvoir aider. J'utilise cURL - libcurl.net, C# comme mes langages de programmation.

Toute aide, suggestion, avis sera grandement appréciée.

Cordialement, Jay

+0

Qu'est-ce que précisément cela a à voir avec Content-Disposition? Quoi qu'il en soit, ce que vous voyez probablement est une réponse utilisant * Content-Encoding * "gzip". Donc, ce que vous devez faire est d'appliquer la décompression GZIP à la charge utile. –

Répondre

0

Le support est encore à ajouter à gondoler. Voir: http://curl.haxx.se/mail/tracker-2007-12/0008.html

+0

Merci Kedar pour votre réponse. J'avais lu cela plus tôt mais j'espérais que cette fonctionnalité est maintenant ajoutée à cURL. Savez-vous comment on peut télécharger le fichier envoyé dans l'en-tête Content-Disposition? Fiddler le fait très bien et montre le contenu du fichier avec précision. Une idée de comment cela est fait et peut être atteint? – JaySO

+0

IMO, vous pouvez facilement écrire un client simple qui lit l'en-tête Content-Disposition et enregistrer le contenu (qui sont envoyés par le serveur en tant que fichier/pièce jointe) localement. C'est juste que cURL en ce moment n'a pas de support pour cela. Notez que le serveur est censé envoyer le fichier dans le corps de la réponse. –

0

J'aimerais que ce soit aussi facile que vous l'avez mentionné. Malheureusement, cela ne peut pas être fait facilement. Surtout quand le contenu est gzip'd.

J'ai trouvé plusieurs exemples sur Internet qui sauvegardent des données d'une réponse. Cependant, pas un seul exemple qui montre comment sauvegarder les données envoyées dans le cadre de l'en-tête Content-Dispositif et surtout quand le contenu est gzip'd.

Veuillez me le faire savoir si vous savez comment faire.

Cordialement, Jay

Questions connexes