URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7565
[ Назад ]

Исходное сообщение
"Python httplib2 как раскодировать Content-Encoding: zip"

Отправлено shadowonline , 02-Июл-12 16:22 
Добрый день!
Я новичок, и с Python общаюсь первый раз.
Передо мной стоит задача раскодировать данные переданные в POST запросе в кодировке zip.
Есть DUMP, данные без http заголовков сохраняю в файл (копия из wireshark - raw, ASCII, EBCDIC в 3х вариантах) и пытаюсь сделать следующее:

1.
content = zlib.decompress(open( "zip1.txt", "rb").read())

Выходит ошибка:
Traceback (most recent call last):
  File "D:\Install\Python\Project\HTTPClient\HTTPClient.py", line 132, in <module>
    content = zlib.decompress(open( "zip1.txt", "rb").read())
zlib.error: Error -3 while decompressing data: incorrect header check

2.
content = gzip.GzipFile(fileobj=io.BytesIO(open( "zip1.txt", "rb").read())).read()

Выходит ошибка:
Traceback (most recent call last):
  File "D:\Install\Python\Project\HTTPClient\HTTPClient.py", line 130, in <module>
    content = gzip.GzipFile(fileobj=io.BytesIO(open( "zip1.txt", "rb").read())).read()
  File "C:\Python32\lib\gzip.py", line 336, in read
    self._read(readsize)
  File "C:\Python32\lib\gzip.py", line 390, in _read
    self._read_gzip_header()
  File "C:\Python32\lib\gzip.py", line 267, in _read_gzip_header
    raise IOError('Not a gzipped file')
IOError: Not a gzipped file

Ничего не получается, подскажите где я ошибся или чем можно раскодировать Content-Encoding: zip


Содержание

Сообщения в этом обсуждении
"Python httplib2 как раскодировать Content-Encoding: zip"
Отправлено sm00th1980mail.ru , 03-Июл-12 16:03 
коллега, судя по всему файл zip1.txt не является ZIP-архивом:) поэтому и ругается.
Проверьте чтобы он был именно ZIP-архивом. Откройте его в любом ZIP-архиваторе для начала.

Т.е. есть это обычный не ZIP-архив а текстовый просто файл - то и decompress делать не надо :)


"Python httplib2 как раскодировать Content-Encoding: zip"
Отправлено shadowonline , 03-Июл-12 16:46 
> коллега, судя по всему файл zip1.txt не является ZIP-архивом:) поэтому и ругается.
> Проверьте чтобы он был именно ZIP-архивом. Откройте его в любом ZIP-архиваторе для
> начала.
> Т.е. есть это обычный не ZIP-архив а текстовый просто файл - то
> и decompress делать не надо :)

Спасибо за ответ.
В том то и проблема. Файл содержит закодированное тело HTTP POST запроса, кодировка в котором установлена как "zip" а не "gzip" или "deflate" как описано в модуле httplib2.

И я не знаю как это тело раскодировать, стандартные архиваторы его не берут методы из httplib2 для кодировки "gzip" или "deflate" тоже не помогают (хотя я может не правильно их использую).
Вот и вопрос что делать с данным видом компрессии, чем его можно разжать.


"Python httplib2 как раскодировать Content-Encoding: zip"
Отправлено shadowonline , 06-Июл-12 08:56 
Я нашол ошибку, я неверно скопировал тело запроса в файл (вы были правы).
Все раскодировалось с помощью "content = zlib.decompress(open( "hexout.txt", "rb").read())"


>[оверквотинг удален]
>> и decompress делать не надо :)
> Спасибо за ответ.
> В том то и проблема. Файл содержит закодированное тело HTTP POST запроса,
> кодировка в котором установлена как "zip" а не "gzip" или "deflate"
> как описано в модуле httplib2.
> И я не знаю как это тело раскодировать, стандартные архиваторы его не
> берут методы из httplib2 для кодировки "gzip" или "deflate" тоже не
> помогают (хотя я может не правильно их использую).
> Вот и вопрос что делать с данным видом компрессии, чем его можно
> разжать.