>백엔드 개발 >Golang >Go에서 HTTP 응답 본문에 문자열로 액세스하는 방법은 무엇입니까?

Go에서 HTTP 응답 본문에 문자열로 액세스하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-08 03:25:11558검색

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

Go에서 문자열로 HTTP 응답에 액세스

Go에서 문자열로 HTTP 응답에 액세스하는 것은 간단한 방법을 사용하여 수행할 수 있습니다. 이를 수행하는 방법은 다음과 같습니다.

귀하의 예제 코드에서 문제는 응답 본문 처리에 있습니다. 문자열로 액세스하려면 문자열 함수를 사용하여 ioutil.ReadAll에서 반환된 바이트 슬라이스([]byte)를 문자열로 변환해야 합니다.

bs := string(body)

응답 본문이 문자열로 있으면 , 다른 일반 문자열처럼 조작할 수 있습니다. 예는 다음과 같습니다.

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

이 변환은 바이트 슬라이스로 직접 작업하는 것만큼 효율적이지 않다는 점에 유의하는 것이 중요합니다. 응답을 문자열로 구체적으로 액세스할 필요가 없다면 바이트 슬라이스로 유지하고 해당 형식으로 작업하는 것이 좋습니다.

위 내용은 Go에서 HTTP 응답 본문에 문자열로 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.