Comment dois-je traiter en texte brut HTTP Obtenir de réponse dans Golang?
Je fais une requête HTTP GET à un point de terminaison qui renvoie un texte simple réponse.
Comment puis-je récupérer la chaîne de la plaine du texte de la réponse?
Mon code ressemble à ce qui suit:
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
Vous devez vous connecter pour publier un commentaire.
Réponse de l'organisme peuvent être lues à l'aide d'une méthode qui peut lire les données de la réception des flux d'octets. La plus simple d'entre eux est ReadAll fonction fournie dans ioutil paquet.
Il vous donnera de l'API de réponse dans []byte. Si la réponse est du texte brut, vous pouvez facilement convertir en chaîne à l'aide de la conversion de type:
Et Vérifier le résultat
Exemple De Programme:
[]byte
àstring
. Exactement, d'autres personnages commeé
,á
, etc. vous obtiendrez � caractère. Vous avez besoin de réitérer laresponseData
et à concat chaque personnage. Façon optimisée serait ceci 😉Utilisation
ioutil.ReadAll(response.Body)
.Également que vous pouvez manipuler Unicode texte à l'aide de
bufio.NewScanner(response.Body)
comme ce travail exemple de code:
de sortie:
À l'aide de cet exemple de code serveur web:
Avec
io.Copy
vous lire tous les octets à partir d'un io.Lecteur, et de l'écrire sur un io.L'écrivain