Heim >Backend-Entwicklung >Golang >Wie kann ich in Go einfach einen HTTP-Antworttext in einen String konvertieren?

Wie kann ich in Go einfach einen HTTP-Antworttext in einen String konvertieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-15 18:29:15862Durchsuche

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

Zugriff auf HTTP-Antworten als String in Go

Beim Abrufen von Webanfragen in Go kann der Zugriff auf die Antwort als String manchmal eine Herausforderung sein. Trotz aller Bemühungen kann es schwierig sein, auf die Antwort als Zeichenfolge zuzugreifen. In diesem Artikel wird ein häufiges Problem untersucht: das Abrufen des Antworttexts als Zeichenfolge, und es wird eine Lösung mithilfe der Funktion string() bereitgestellt.

Ein gängiger Ansatz zum Abrufen des Antworttexts wird in dem von Ihnen bereitgestellten Codeausschnitt veranschaulicht. Der Zugriff auf die Antwort als String direkt von resp.Body mithilfe einer einfachen Schleife wie for i:= 0; ich < len(körper); i { fmt.Println( body[i] ) } gibt Zahlen aus, die ASCII-Werte darstellen, und nicht die gewünschte Zeichenfolge.

Um den Antworttext in eine Zeichenfolge umzuwandeln, können Sie die Funktion string() wie folgt verwenden:

bs := string(body)

Diese Zeile wandelt den Byte-Array-Körper in einen String um, den Sie dann als regulären String verwenden können. Die Variable bs enthält jetzt den Antworttext als Zeichenfolge, sodass Sie Zeichenfolgenoperationen daran ausführen können.

Zur weiteren Veranschaulichung finden Sie hier eine modifizierte Version Ihres Codeausschnitts, die string() verwendet, um den Antworttext als abzurufen eine Zeichenfolge:

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

In diesem aktualisierten Code enthält die Variable bs den Antworttext als Zeichenfolge, der dann mit fmt.Println(bs) protokolliert wird. Wenn Sie diesen geänderten Code ausführen, wird die Zeichenfolgendarstellung der HTTP-Antwort gedruckt.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go einfach einen HTTP-Antworttext in einen String konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn