gzip压缩问题转化

在使用httpclient访问接口时得到的数据是以"b’\x1f\x8b\x08"开头的 ,说明它是gzip压缩过的数据,需要对我们接收的字节码进行一个解码操作

from urllib import request
from io import BytesIO
import gzip

def xxx():
    conn = http.client.HTTPConnection("")
    conn.request(method="GET", url=url,  body=param_data, headers=header_data)
    res = conn.getresponse()
    if 200 == res.getcode():
        print(res.getheader("Content-Type"))
        print(res.getheader("Content-Encoding"))  # gzip
        result = res.read()
        buff = BytesIO(result)
        f = gzip.GzipFile(fileobj=buff)
        data = f.read().decode('utf-8')
        print(data)

    res.close()

posted @ 2021-03-31 14:31  fly_bk  阅读(143)  评论(0编辑  收藏  举报