Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menukar Badan Respons HTTP kepada Rentetan dalam Go dengan Mudah?

Bagaimanakah Saya Boleh Menukar Badan Respons HTTP kepada Rentetan dalam Go dengan Mudah?

Barbara Streisand
Lepaskan: 2024-12-15 18:29:15
asal
861 orang telah melayarinya

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

Mengakses Respons HTTP sebagai Rentetan dalam Go

Apabila mendapatkan semula permintaan web dalam Go, mengakses respons sebagai rentetan kadangkala boleh mencabar. Walaupun usaha terbaik anda, mengakses respons sebagai rentetan mungkin terbukti sukar. Artikel ini meneroka isu biasa: mendapatkan badan respons sebagai rentetan dan menyediakan penyelesaian menggunakan fungsi string().

Pendekatan biasa untuk mendapatkan semula badan respons ditunjukkan dalam coretan kod yang anda berikan. Walau bagaimanapun, mengakses respons sebagai rentetan terus daripada resp.Body menggunakan gelung mudah seperti untuk i:= 0; i < len(badan); i { fmt.Println( body[i] ) } akan mencetak nombor yang mewakili nilai ASCII dan bukannya rentetan yang dikehendaki.

Untuk menukar badan tindak balas kepada rentetan, anda boleh menggunakan fungsi string() seperti berikut:

bs := string(body)
Salin selepas log masuk

Baris ini akan menukar badan tatasusunan bait kepada rentetan, yang kemudiannya boleh anda gunakan sebagai rentetan biasa. Pembolehubah bs kini memegang badan tindak balas sebagai rentetan, membolehkan anda melakukan operasi rentetan padanya.

Untuk ilustrasi lanjut, berikut ialah versi ubah suai coretan kod anda yang menggunakan string() untuk mendapatkan badan respons sebagai rentetan:

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")
}
Salin selepas log masuk

Dalam kod yang dikemas kini ini, pembolehubah bs mengandungi badan tindak balas sebagai rentetan, yang kemudian dilog menggunakan fmt.Println(bs). Menjalankan kod yang diubah suai ini akan mencetak perwakilan rentetan respons HTTP.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Badan Respons HTTP kepada Rentetan dalam Go dengan Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan