Почему HTTP :: Response :: decoded_content иногда возвращает undef, даже если content () возвращает данные?

Я использовал возможность LWP для обработки содержимого, закодированного с помощью gzip, как описано в здесь, но в некоторых случаях я случайно получаю неожиданные результаты, по крайней мере, для одного протестированного веб-сайта: $response->decoded_content может стать неопределенным, в то время как $response->content по-прежнему возвращает исходный ответ в кодировке gzip. Пробовал даже без внутреннего декодирования кодировки (decoded_content(charset => 'none')) с тем же результатом.


person Dopamine    schedule 31.01.2010    source источник


Ответы (2)


Это не дает прямого ответа на ваш вопрос, но когда я сталкиваюсь с подобными вещами, я смотрю на источник модуля, чтобы увидеть, что он делает, и отлаживаю код, как и любой другой код. Взгляд на метод decoded_content в HTTP::Message показывает, чего он ожидает. Убедитесь, что ваш ответ соответствует ожиданиям.

person brian d foy    schedule 01.02.2010

Возможно, сервер неправильно настроил Content-Encoding в ответе? В любом случае взгляните на заголовки как рабочих, так и нерабочих ответов и поищите существенные различия.

person ysth    schedule 31.01.2010