Я пытаюсь вызвать API с помощью Go. При использовании Почтальона все ок. Но если я использую код Go от Почтальона, ответ искажается / неясен.
Ниже кода, который я использую:
func CallAPI() {
url := "https://url"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer Token is normaly here")
req.Header.Add("User-Agent", "PostmanRuntime/7.19.0")
req.Header.Add("Accept", "Accept: application/json")
req.Header.Add("Cache-Control", "no-cache")
req.Header.Add("Postman-Token", "Postman token normaly here")
req.Header.Add("Host", "host normaly here")
req.Header.Add("Accept-Encoding", "gzip, deflate")
req.Header.Add("Connection", "keep-alive")
req.Header.Add("cache-control", "no-cache")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
Ответ, который я получаю, когда использую fmt.Println(string(body))
выглядит как ниже. Я также пробовал другие API с этим кодом и получил тот же результат.
r�痱�
Я также пытался разархивировать JSON в структуре и получил следующую ошибку Invalid character '\x1f' looking for beginning of value
Я думаю, что это что-то о декодировании. Но я не знаю что.