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

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

DDD
DDD原创
2024-12-08 03:25:11505浏览

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

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

在 Go 中以字符串形式访问 HTTP 响应可以使用简单的方法来实现。具体方法如下:

在您的示例代码中,问题在于响应正文的处理。要将其作为字符串访问,您需要使用字符串函数将 ioutil.ReadAll 返回的字节切片 ([]byte) 转换为字符串:

bs := string(body)

一旦获得字符串形式的响应正文,您可以像操作任何其他常规字符串一样操作它。下面是一个示例:

resp, err := http.Get("http://google.hu/")
if err != nil {
    // Handle error
}
defer resp.Body.Close()

body, err := io.ReadAll(resp.Body)
if err != nil {
    // Handle error
}

respString := string(body)
fmt.Println(respString) // Prints the response body as a string

if strings.Contains(respString, "html") {
    // Check if the response contains "html"
}

需要注意的是,这种转换不如直接使用字节切片高效。如果您不需要专门以字符串形式访问响应,最好将其保留为字节切片并以这种形式使用它。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn