use Compress::Zlib;
undef $/;
open(FILE, "<", zippedpage);
$page=<FILE>;
close(FILE);
print "Content-Type: text\html;charset=windows-1251;\n" ;
print "Content-Encoding: gzip\n\n";
print $page;
сжатый ответ от web сервера (perl)
Ко мне в руки попал файл, содержащий ответ web-сервера. Выглядит он следующим образом
HTTP /1.1 200 OK
Content-Type: text\html; charset=windows-1251;
Connection: close;
Content-Encoding: gzip
Cache-Control: no-cache, no-store, must-revalidate;
Pragma: no-cache;
Vary: Accept-Encoding;
Content-Length: xxxxx
# пара заголовков опущена за ненадобностью.
## Далее следует много букв, и символов,
строка Content-Encoding: gzip подсказала мне что тело сжато.
Мне необходимо прочитать тело. Для этого я написал скрипт следующего содержания:
Код:
где zippedpage - это файл из которого я ручками выдернул все заголовки и оставил только тело ответа.
Так вот, выполняя скрипт, я получаю опять набор символов((((( Что не так? может есть другое решение проблемы?
LWP::UserAgent, дабы не парсить все заголовки и сжатые/несжатые тела ответов сервера =\...
не парить себе моск и использовать
Цитата: Тень Пса
не парить себе моск и использовать LWP::UserAgent, дабы не парсить все заголовки и сжатые/несжатые тела ответов сервера =\...
Спасибо за пинок в нужную сторону, можно еще хоть часть примера использования этого модуля относительно моей проблемы, ибо я думаю что запарить моск путем написания 2-х заголовков трудновато,
Цитата: zhz
Спасибо за пинок в нужную сторону, можно еще хоть часть примера использования этого модуля относительно моей проблемы, ибо я думаю что запарить моск путем написания 2-х заголовков трудновато,
а ты уже попробовал его просто использовать?
вот просто качнуть страницу, и посмотреть decoded_content?
видно, что нет. так вот вернёшься, с вопросом, когда всё попробуешь ;)
Код:
$us=LWP::UserAgent->new;
$req=HTTP::Request->new(GET=>'file:file_with_message');
$res=$ua->request($req);
if ($res->is_success)
{
print $res->content;
}
$req=HTTP::Request->new(GET=>'file:file_with_message');
$res=$ua->request($req);
if ($res->is_success)
{
print $res->content;
}
так вот скрипт выводит опять квакозябры, плюс еще и системный динамик звенит много раз(((((