이 름 : 바다아이
|
조회수 : 9235
짧은 주소 : https://www.bada-ie.com/su/?471591838122
1. HTTP GET 호출
Go의 표준 패키지인 http 패키지는 웹 관련 클라이언트 및 서버 기능을 제공한다.
그 중 http.Get() 메서드는 쉽게 웹 페이지나 웹 데이타들 가져오는데 사용된다.
package main
import (
"fmt""io/ioutil""net/http"
)
funcmain() {
// GET 호출
resp, err := http.Get("http://csharp.news")
if err != nil {
panic(err)
}
defer resp.Body.Close()
// 결과 출력
data, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", string(data))
}
2. HTTP GET 헤더 변경
http.Get()은 한 문장으로 HTTP GET을 호출하는 장점이 있지만, Request시 헤더를 추가한다던가,
Request 스트림을 추가하는 것과 같은 세밀한 컨트롤을 할 수 없는 단점이 있다.
Request시 보다 많은 컨트롤이 필요하다면, Request 객체를 (NewRequest 생성자를 통해)
직접 생성해서 http.Client 객체를 통해 호출하면 된다.
아래 예제는 http.NewRequest() 생성자를 통해 Request 객체를 생성하고, 여기에 임의의 헤더를 추가하고,
http.Client 객체를 통해 호출하는 코드이다. HTTP 호출결과는 Response 객체인데,
이 객체의 Body 필드를 통해 실제 Request 결과를 가져올 수 있다.
package main
import (
"fmt""io/ioutil""net/http"
)
funcmain() {
// Request 객체 생성
req, err := http.NewRequest("GET", "http://csharp.tips/feed/rss", nil)
if err != nil {
panic(err)
}
//필요시 헤더 추가 가능
req.Header.Add("User-Agent", "Crawler")
// Client객체에서 Request 실행
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
// 결과 출력
bytes, _ := ioutil.ReadAll(resp.Body)
str := string(bytes) //바이트를 문자열로
fmt.Println(str)
}
출처 : http://golang.site/go/article/102-HTTP-GET-%ED%98%B8%EC%B6%9C
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.31228 초 to webmaster... gogo sea. gogo sea.