go请求http

目录

go提供了一个http包,可以通过这个包方便的进行http请求

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "strings"
)
	
// http.Get
func httpGet() {
	    resp, err := http.Get("http://www.baidu.com")
	    if err != nil {
		        fmt.Println(err)
		        return
		    }
	    defer resp.Body.Close()
	    body, err := ioutil.ReadAll(resp.Body)
	    fmt.Println(string(body))
}
 
func httpPost() {
	    resp, err := http.Post("http://www.baidu.com",
	                           "application/x-www-form-urlencode",
	                           strings.NewReader("name=abc")) // Content-Type post请求必须设置
	    if err != nil {
		        return
		    }
	    defer resp.Body.Close()
	    body, err := ioutil.ReadAll(resp.Body)
	    fmt.Println(string(body))
}
 
 
client := &http.Client{}
req, err := http.NewRequest("POST", "http://121.36.71.167:7001/", strings.NewReader("name=cjb"))
if err != nil {
fmt.Println(err)
}
 
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Cookie", "name=anny")
 
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
 
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
}
 
fmt.Println(string(body))