@bobs32

Как сделать раскодировку POST запроса?

При выполнении кода:
start = session.post(site, data=params_start, headers=headers_valid)
print(start)
print(start.text)

приходит ответ:
5d8d56fa9d5cc032731615.png
А должен приходить ответ json.
В чем может быть проблема?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
У вас библиотека не обрабатывает заголовок
Content-Encoding: gzip
тоесть сжатый, надо распаковывать:
import gzip
import io
def gzip_str(string_):
    out = io.BytesIO()
    with gzip.GzipFile(fileobj=out, mode='w') as fo:
        fo.write(string_.encode())
    bytes_obj = out.getvalue()
    return bytes_obj

def gunzip_bytes_obj(bytes_obj):
    in_ = io.BytesIO()
    in_.write(bytes_obj)
    in_.seek(0)
    with gzip.GzipFile(fileobj=in_, mode='rb') as fo:
        gunzipped_bytes_obj = fo.read()
    return gunzipped_bytes_obj.decode()
    
string_ = 'hello there!'
gzipped_bytes = gzip_str(string_)
original_string = gunzip_bytes_obj(gzipped_bytes)
assert string_ == original_string
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы