Home > Backend Development > Golang > How Can I Easily Convert an HTTP Response Body to a String in Go?

How Can I Easily Convert an HTTP Response Body to a String in Go?

Barbara Streisand
Release: 2024-12-15 18:29:15
Original
861 people have browsed it

How Can I Easily Convert an HTTP Response Body to a String in Go?

Accessing HTTP Response as a String in Go

When retrieving web requests in Go, accessing the response as a string can sometimes be challenging. Despite your best efforts, accessing the response as a string might prove difficult. This article explores a common issue: obtaining the response body as a string, and provides a solution using the string() function.

A common approach to retrieving the response body is demonstrated in the code snippet you provided. However, accessing the response as a string directly from resp.Body using a simple loop like for i:= 0; i < len(body); i { fmt.Println( body[i] ) } will print numbers representing ASCII values rather than the desired string.

To convert the response body into a string, you can use the string() function as follows:

bs := string(body)
Copy after login

This line will convert the byte array body into a string, which you can then use as a regular string. The variable bs now holds the response body as a string, allowing you to perform string operations on it.

For further illustration, here's a modified version of your code snippet that uses string() to obtain the response body as a string:

func main() {
    resp, err := http.Get("http://google.hu/")
    if err != nil {
        // handle error
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)

    bs := string(body) // Converts the response body into a string

    fmt.Println(bs) // Log the string representation of the response body
    fmt.Println("done")
}
Copy after login

In this updated code, the variable bs contains the response body as a string, which is then logged using fmt.Println(bs). Running this modified code will print the string representation of the HTTP response.

The above is the detailed content of How Can I Easily Convert an HTTP Response Body to a String in Go?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template