Я использовал возможность LWP для обработки содержимого, закодированного с помощью gzip, как описано в здесь, но в некоторых случаях я случайно получаю неожиданные результаты, по крайней мере, для одного протестированного веб-сайта: $response->decoded_content
может стать неопределенным, в то время как $response->content
по-прежнему возвращает исходный ответ в кодировке gzip. Пробовал даже без внутреннего декодирования кодировки (decoded_content(charset => 'none')
) с тем же результатом.
Почему HTTP :: Response :: decoded_content иногда возвращает undef, даже если content () возвращает данные?
Ответы (2)
Это не дает прямого ответа на ваш вопрос, но когда я сталкиваюсь с подобными вещами, я смотрю на источник модуля, чтобы увидеть, что он делает, и отлаживаю код, как и любой другой код. Взгляд на метод decoded_content
в HTTP::Message
показывает, чего он ожидает. Убедитесь, что ваш ответ соответствует ожиданиям.
person
brian d foy
schedule
01.02.2010
Возможно, сервер неправильно настроил Content-Encoding в ответе? В любом случае взгляните на заголовки как рабочих, так и нерабочих ответов и поищите существенные различия.
person
ysth
schedule
31.01.2010