내 프로젝트에는 요청 응답의 바이트 슬라이스가 있습니다.
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode))
return
}
respByte, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println("fail to read response data")
return
}
이것은 효과가 있지만에 대한 응답 본문을 얻으려면 io.Reader
어떻게 변환합니까? 나는 새로운 리더 / 작가를 시도했지만 성공하지 못했습니다.
—
바꿉니다
@Arjan yap ~ body ... 요청을 마치면 기본 클래스에서 io.reader. 그러나 기본 클래스에서 응답을 얻고 싶습니다. 응답이 종료되었습니다. 응답 본문을 [] 바이트로 구조체에 저장하십시오.
—
Chan Willson
@ ANisus 내가 시도합니다 ..... thx 친구 .. 그건 그렇고 ... 그것은 다른 유형처럼 보인다 ..
—
Chan Willson
@ ChanWillson : 그 요구 사항이 더 합리적입니다. 본문을 닫은 후에는 읽을 수 없습니다. 인터페이스
—
Arjan
*bytes.Reader
를 구현하는 것이 좋습니다 io.Reader
.
io.Reader
? 이 경우 resp.Body는 이미 해당 유형입니다.