잠시만 기다려 주세요

     '애도와 추모가 책임있는 사람들에게 면죄부를 주어서는 안됩니다. -더불어 민주당 국회의원 김용민-'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (19)  |  여러가지 팁 (1095)  |  추천 및 재미 (163)  |  자료실 (28)  |  
시사, 이슈, 칼럼, 평론, 비평 (794)  |  끄적거림 (142)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    golang

golang - HTTP GET 호출, curl, 클라이언트
이 름 : 바다아이   |   조회수 : 9235         짧은 주소 : https://www.bada-ie.com/su/?471591838122
1. HTTP GET 호출

Go의 표준 패키지인 http 패키지는 웹 관련 클라이언트 및 서버 기능을 제공한다. 
그 중 http.Get() 메서드는 쉽게 웹 페이지나 웹 데이타들 가져오는데 사용된다.

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    // 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"
)

func main() {
    // 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
| |





      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
180 golang golang ... 바다아이 119
179 golang golang , ... 바다아이 2695
178 golang golang , map . 바다아이 2084
177 golang Golang (, , data ) , ... 바다아이 2398
176 golang golang sort ... 바다아이 2782
175 golang golang html.EscapeString html.UnescapeString input value ... 바다아이 2703
174 golang golang go.mod go.sum . GOPATH SRC not module, 1.16 . 바다아이 6225
173 golang go 1.16 ... is not in GOROOT.. GOPATH .... . 바다아이 7381
172 golang , String Formatting 바다아이 8693
171 golang rand.Intn , random, , . 바다아이 8215
170 golang golang ... 바다아이 11965
169 golang golang gopath, goroot .. golang 바다아이 8945
168 golang golang ... Force download file example 바다아이 10968
167 golang golang , , cpu, memory, disk 바다아이 12033
166 golang golang , ... GOOS, GOARCH 바다아이 9692
165 golang golang checkbox ... 바다아이 9550
164 golang golang , , http .... 바다아이 9374
163 golang golang nil , nil , nil ... 바다아이 9453
162 golang 2 golang, go , .... golang .... 바다아이 12697
161 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 10009
160 golang golang postgresql mysql, mariadb scan , null .. 바다아이 10066
159 golang golang , iconv 바다아이 12887
158 golang golang quote escape, unquote 바다아이 10313
157 golang golang , http errorLog , , ... 바다아이 10697
156 golang golang interface , 바다아이 9769
155 golang golang struct .... 바다아이 10495
154 golang golang map map , 바다아이 9981
153 golang golang map .... .... 바다아이 9301
152 golang golang slice copy 바다아이 9495
151 golang golang goto 바다아이 10689
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.31228
to webmaster... gogo sea. gogo sea.