Maison >développement back-end >Golang >Comment puis-je facilement convertir un corps de réponse HTTP en chaîne dans Go ?

Comment puis-je facilement convertir un corps de réponse HTTP en chaîne dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-15 18:29:15861parcourir

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

Accès à la réponse HTTP sous forme de chaîne dans Go

Lors de la récupération de requêtes Web dans Go, accéder à la réponse sous forme de chaîne peut parfois être difficile. Malgré tous vos efforts, accéder à la réponse sous forme de chaîne peut s'avérer difficile. Cet article explore un problème courant : l'obtention du corps de la réponse sous forme de chaîne et propose une solution à l'aide de la fonction string().

Une approche courante pour récupérer le corps de la réponse est démontrée dans l'extrait de code que vous avez fourni. Cependant, accéder à la réponse sous forme de chaîne directement depuis resp.Body en utilisant une simple boucle comme for i:= 0; je &Lt ; lentille(corps); i { fmt.Println( body[i] ) } imprimera des nombres représentant des valeurs ASCII plutôt que la chaîne souhaitée.

Pour convertir le corps de la réponse en chaîne, vous pouvez utiliser la fonction string() comme suit :

bs := string(body)

Cette ligne convertira le corps du tableau d'octets en une chaîne, que vous pourrez ensuite utiliser comme une chaîne normale. La variable bs contient désormais le corps de la réponse sous forme de chaîne, vous permettant d'effectuer des opérations sur les chaînes.

Pour une illustration plus approfondie, voici une version modifiée de votre extrait de code qui utilise string() pour obtenir le corps de la réponse sous la forme une chaîne :

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")
}

Dans ce code mis à jour, la variable bs contient le corps de la réponse sous forme de chaîne, qui est ensuite enregistrée à l'aide de fmt.Println(bs). L'exécution de ce code modifié imprimera la représentation sous forme de chaîne de la réponse HTTP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn