我正在向返回纯文本响应的端点发出 HTTP GET 请求。
如何获取纯文本响应的字符串?
我的代码如下所示:
url := "http://someurl.com"
response, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
responseString := //NOT SURE HOW TO GRAB THE PLAIN TEXT STRING
最佳答案
可以使用任何可以从传入字节流中读取数据的方法来读取正文的响应。其中最简单的是ioutil包中提供的ReadAll函数。
responseData,err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
它会在 []byte 中为您提供 API 响应。如果响应是纯文本,您可以使用类型转换轻松地将其转换为字符串:
responseString := string(responseData)
然后检查结果
fmt.Println(responseString)
示例程序:
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "http://country.io/capital.json"
response, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
responseData, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
responseString := string(responseData)
fmt.Println(responseString)
}
关于rest - 如何在 Golang 中处理纯文本 HTTP Get 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807903/