| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > Как прочитать ответ сервера (gzip ) |
| Автор: zhz 20.8.2009, 03:10 |
| Доброго времени суток. У меня проблема следующего характера. Имеется файл, содержащий ответ 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 Далее идет сжатый контент, ввиде различный квакозябр. Каким образом можно этот самый контент прочитать?? Я так предполагаю , надо создать web сервер, там cgi скрипт (perl) который будет этот самый файл открывать, видирать квакозябры и отправлять клиенту с подобными заголовками. |
| Автор: Nigel 20.8.2009, 10:02 |
| Каким образом был получен данный файл и почему там квакозябры? Если проблема с написанием скрипта perl, то вы ошиблись разделом. Попросите перенести топик в соответсвующий форум. |
| Автор: zhz 21.8.2009, 01:34 |
| Я не прошу конкретного примера на Perl. Мне надо просто алгоритм решения проблемы. Каким образом он получен я не знаю. Просто посмотрев на файл я понял что это ответ сервера. Есть заголовки(привел выше), и есть тело (квакозябры), тело как я понимаю как раз и сжато gzip ом |
| Автор: Ams 21.8.2009, 04:03 |
| Наверное это надо: 1. получаете файл, 2. отделяете заголовок от тела (каким образом отделяется заголовок от тела можно почитать в RFC, это "\r\n\r\n"), 3. далее тело уже разжимаете доступными способами конкретного языка. |
| Автор: Nigel 21.8.2009, 09:16 |
| Ну и чего вы собственно ожидаете услышать, если вы даже не в состоянии определить в чем конкретно у вас проблема. Телепатов тут нет. Вы считаете нормальным просить алгоритм, который будет делать неизвестно что с неизвестно каким файлом, который был получен неизвестно как?! |
| Автор: zhz 24.8.2009, 01:56 |
| По моему я объяснил все доступно. Что есть и что нужно, изложил. Никаких телепатических способностей тут не нужно. Так что флейм не надо разводить. Если кому то не понятно, то повторю: Есть ответ веб сервера, состоит из заголовков и тела. Среди заголовков есть один - Content-Encoding: gzip, который говорит о том что ТЕЛО СЖАТО GZip ом. Задача в том чтобы увидеть тело в нормальном виде! вот и все. я пытаюсь решить таким способом: 1) поднял apache с perl. 2)написал скрипт следующего содержания use Compress::Zlib; undef $/; open(FILE, "<", zippedpage); $page=<FILE>; close(FILE); print "Content-Type: text\html;0.\n" ; print "Content-Encoding: gzip\n\n"; print $page; 3) в каталог со скриптом закинул файл ziippedpage, который открыв блокнотом, просто удалил все заголовки, оставив только тело. Замысел таков, что скрипт открывает файл, читает тело, и формирует ответ, в котором указывает , что контент сжат. Тем не менее решение не работает. Выводятся очередные квакозябры (уже с примесью японцких иероглифов), что не так делаю?? Если тема выходит за пределы данного раздела, и относится perl у , то просьба перенсти в соответствующий раздел |
| Автор: Nigel 24.8.2009, 09:45 |
| Ладно, спрошу по-другому. Какой сервер? Какой модуль сжатия используется? |
| Автор: zhz 24.8.2009, 23:51 |
| В ответе, который мне необходимо gрасжать, есть заголовок, говорящий о том что сервер nginx, я пытаюсь все сделать на Apache под win 32. Сжимаетсо gzip, это вроде как видно в заголовках которые я указал. Если вы про модуль какой я использую, то это как видно use Compress::Zlib; |