Ich möchte die Antwort einer Webanforderung analysieren, habe jedoch Probleme, als Zeichenfolge darauf zuzugreifen.
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")
}
Wie kann ich als Zeichenfolge auf die Antwort zugreifen? ioutil.WriteFile
schreibt die Antwort auf eine Datei korrekt.
Ich habe die Paketreferenz bereits überprüft, aber sie ist nicht wirklich hilfreich.
quelle
http.StatusOK
anstelle des Rohwerts200
!ioutil.ReadAll()
?Die Methode, mit der Sie die http-Textantwort lesen, gibt ein Byte-Slice zurück:
offizielle Dokumentation
Sie können
[]byte
mithilfe von in einen String konvertierenquelle
string (byteslice) konvertiert Byte Slice in String. Sie müssen nur wissen, dass es sich nicht nur um eine Typkonvertierung handelt, sondern auch um eine Speicherkopie.
quelle