Chciałbym przeanalizować odpowiedź żądania internetowego, ale mam problem z dostępem do niej jako ciągu.
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")
}
Jak mogę uzyskać dostęp do odpowiedzi w postaci ciągu? ioutil.WriteFile
zapisuje poprawnie odpowiedź do pliku.
Sprawdziłem już numer referencyjny pakietu, ale nie jest to zbyt pomocne.
źródło
http.StatusOK
zamiast surowej200
wartości!ioutil.ReadAll()
??Metoda, której używasz do odczytywania odpowiedzi treści http, zwraca fragment bajtu:
oficjalna dokumentacja
Możesz przekonwertować
[]byte
na ciąg przy użyciuźródło
string (byteslice) przekonwertuje kawałek bajtu na łańcuch, po prostu wiedz, że jest to nie tylko zwykła konwersja typów, ale także kopiowanie pamięci.
źródło