반응형
Go에서 HTTP 응답에 노드로 액세스
웹 요청의 응답을 구문 분석하고 싶지만 있습니다.
func main() {
resp, err := http.Get("http://google.hu/")
if err != nil {
// handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
ioutil.WriteFile("dump", body, 0600)
for i:= 0; i < len(body); i++ {
fmt.Println( body[i] ) // This logs uint8 and prints numbers
}
fmt.Println( reflect.TypeOf(body) )
fmt.Println("done")
}
응답을 어디로 어떻게 액세스 할 수 있습니까? ioutil.WriteFile
응답을 파일에 씁니다.
이미 패키지 참조를 확인했지만 도움이되지 않았습니다.
bs := string(body)
충분한 자격이 있어야합니다.
거기에서 일반 패키지로 사용할 수 있습니다.
이 약간에서 와 같이 조금 :
var client http.Client
resp, err := client.Get(url)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
bodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
bodyString := string(bodyBytes)
log.Info(bodyString)
}
GoByExample을 참조하십시오 .
아래에 설명되어 있고 zzn 의 답변 에서이 변환입니다 ( spec 참조 ). zzzz가 참조 한
" 얼마나 비싸지 []byte(string)
입니까? "(역 문제 참조 됨)를 참조하십시오 .
일부 변환은
uint(myIntvar)
비트를 제자리에서 재 해석 하는 캐스트와 동일 합니다.
Sonia 는 다음을 추가합니다.
바이트에서는 어디에서나 만들려면 반드시 껍질을 벗기고 할당해야합니다. 불변 속성은 강제합니다.
여기에서 [] 바이트로 최대한 많은 작업을 수행 한 다음 끝에 많은 작업을 생성하여 최적화 할 수 있습니다. 이 유형은 종종 유용합니다.bytes.Buffer
http 본문 응답을 읽는 데 사용하는 방법은 바이트 조각을 반환합니다.
func ReadAll(r io.Reader) ([]byte, error)
다음 []byte
을 사용하여 공유 로 변환 할 수 있습니다.
body, err := ioutil.ReadAll(resp.Body)
bodyString := string(body)
string (byteslice)는 도구를 사용하여 변환합니다. 아니라는 것이 아니라는 것을 알고 있습니다.
참고 URL : https://stackoverflow.com/questions/38673673/access-http-response-as-string-in-go
반응형
'IT' 카테고리의 다른 글
node.js와 meteor.js의 차이점은 무엇입니까? (0) | 2020.09.09 |
---|---|
JSON을 서버에 보내고 JQuery없이 JSON을 반환합니다. (0) | 2020.09.09 |
C ++에서 부스트를 사용하여 UUID 생성의 예 (0) | 2020.09.09 |
Swift의 정적 함수 변수 (0) | 2020.09.09 |
어디에서 특정 문자 자르기 (0) | 2020.09.09 |