Heim >Backend-Entwicklung >Golang >Wie greife ich in Go auf einen HTTP-Antworttext als String zu?

Wie greife ich in Go auf einen HTTP-Antworttext als String zu?

DDD
DDDOriginal
2024-12-08 03:25:11515Durchsuche

How to Access an HTTP Response Body as a String in Go?

Zugriff auf HTTP-Antworten als String in Go

Der Zugriff auf HTTP-Antworten als String in Go kann mit einer unkomplizierten Methode erreicht werden. So können Sie es machen:

In Ihrem Beispielcode liegt das Problem in der Handhabung des Antworttexts. Um als String darauf zuzugreifen, müssen Sie das von ioutil.ReadAll zurückgegebene Byte-Slice ([]Byte) mit der String-Funktion in einen String konvertieren:

bs := string(body)

Sobald Sie den Antworttext als String haben , können Sie sie wie jede andere reguläre Zeichenfolge bearbeiten. Hier ist ein Beispiel:

resp, err := http.Get("http://google.hu/")
if err != nil {
    // Handle error
}
defer resp.Body.Close()

body, err := io.ReadAll(resp.Body)
if err != nil {
    // Handle error
}

respString := string(body)
fmt.Println(respString) // Prints the response body as a string

if strings.Contains(respString, "html") {
    // Check if the response contains "html"
}

Es ist wichtig zu beachten, dass diese Konvertierung nicht so effizient ist wie die direkte Arbeit mit dem Byte-Slice. Wenn Sie nicht speziell auf die Antwort als Zeichenfolge zugreifen müssen, ist es besser, sie als Byte-Slice beizubehalten und in dieser Form damit zu arbeiten.

Das obige ist der detaillierte Inhalt vonWie greife ich in Go auf einen HTTP-Antworttext als String zu?. 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