go

go http 处理gzip响应流

2024-03-14  本文已影响0人  五岁小孩

go http 处理gzip响应流 - Jxy 博客

解决

import "compress/gzip"  
    resp, err := utils.HttpClient.Do(req)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()
    if resp.StatusCode != 200 {
        return "", errors.New(strconv.Itoa(resp.StatusCode))
    }
    var reader io.ReadCloser
    switch resp.Header.Get("Content-Encoding") {
    case "gzip":
        //处理gzip响应流
        reader, _ = gzip.NewReader(resp.Body)
        defer reader.Close()
    default:
        reader = resp.Body
    }
    respBytes, err := ioutil.ReadAll(reader)
    if err != nil {
        return "", err
    }
    return string(respBytes), err
上一篇 下一篇

猜你喜欢

热点阅读