2010-01-31 14 views
1

J'ai utilisé la fonctionnalité LWP pour gérer le contenu codé gzip comme décrit here, mais dans certains cas, je reçois des résultats inattendus au moins pour le site Web que j'ai testé: $response->decoded_content peut devenir indéfini tandis que $response->content renvoie toujours la réponse codée gzip d'origine. Essayé même sans décodage charset interne (decoded_content(charset => 'none')) avec le même résultat.Pourquoi HTTP :: Response :: decoded_content renvoie parfois undef même lorsque content() renvoie des données?

Répondre

2

Le serveur ne définit peut-être pas correctement le codage de contenu dans la réponse? Dans tous les cas, jetez un coup d'œil aux en-têtes pour les réponses fonctionnelles et non fonctionnelles et cherchez des différences significatives.

3

Cela ne répond pas directement à votre question, mais quand je rencontre des choses comme ça, je regarde la source du module pour voir ce qu'il fait et déboguer le code comme n'importe quel autre code. En regardant la méthode decoded_content en HTTP::Message vous montre exactement ce qu'il attend. Vérifiez que votre réponse a toutes les choses qu'elle attend.