Je voudrais analyser la réponse d'une requête Web, mais j'ai du mal à y accéder sous forme de 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)
ioutil.WriteFile("dump", body, 0600)
for i:= 0; i < len(body); i++ {
fmt.Println( body[i] ) // This logs uint8 and prints numbers
}
fmt.Println( reflect.TypeOf(body) )
fmt.Println("done")
}
Comment puis-je accéder à la réponse sous forme de chaîne? ioutil.WriteFile
écrit correctement la réponse à un fichier.
J'ai déjà vérifié la référence du paquet mais ce n'est pas vraiment utile.
la source
http.StatusOK
au lieu de la200
valeur brute !ioutil.ReadAll()
??La méthode que vous utilisez pour lire la réponse http body renvoie une tranche d'octets:
documentation officielle
Vous pouvez convertir
[]byte
en chaîne en utilisantla source
string (byteslice) convertira une tranche d'octet en chaîne, sachez simplement que ce n'est pas seulement une conversion de type, mais aussi une copie de mémoire.
la source