首页 > 后端开发 > Golang > 如何在 Go 中以字符串形式访问 HTTP 响应正文?

如何在 Go 中以字符串形式访问 HTTP 响应正文?

DDD
发布: 2024-12-08 07:24:16
原创
346 人浏览过

How Do I Access an HTTP Response Body as a String in Go?

在 Go 中以字符串形式访问 HTTP 响应

解析 Web 请求的响应时,以字符串形式访问它可能会出现问题。考虑以下代码:

resp, err := http.Get("http://google.hu/")
if err != nil {
    // handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
登录后复制

当代码成功获取响应正文时,尝试使用 for i:= 0; 将其作为字符串进行迭代。我

以字符串形式访问响应的关键在于一个简单的转换:

bs := string(body)
登录后复制

这个转换将字节切片主体视为 Unicode 代码点序列并创建相应的字符串。转换后,您可以像操作任何其他字符串一样操作 bs。

例如,以下代码演示了转换和后续的字符串操作:

var client http.Client
resp, err := client.Get(url)
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

if resp.StatusCode == http.StatusOK {
    bodyBytes, err := io.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
    bodyString := string(bodyBytes)
    fmt.Println(bodyString)
}
登录后复制

此转换突出了字节和字符串之间的区别在围棋中。字符串是 Unicode 代码点的不可变序列,而字节切片是原始字节的可变序列。从字节切片到字符串的转换有效地创建了一个新字符串,该字符串表示由字节编码的字符序列。

以上是如何在 Go 中以字符串形式访问 HTTP 响应正文?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板