http-server(API)
package mainimport ( "fmt" "net/http")func HealthCheck(writer http.ResponseWriter, request *http.Request) { str := "server ok" //接收请求 fmt.Println(request.URL) fmt.Println(request.Body) fmt.Println(request.Method)//GET POST //返回结果 writer.Write([]byte(str))}func main() { http.HandleFunc("/hello", func(writer http.ResponseWriter, request *http.Request) { writer.Write([]byte("hello world")) }) http.HandleFunc("/healthCheck", HealthCheck) http.ListenAndServe("0.0.0.0:8080", nil)}
http-client
package mainimport ( "fmt" "io" "io/ioutil" "net/http" "net/url" "os")func main() { //rsp, err := http.Get("http://127.0.0.1:8080/healthCheck") //if err != nil { // //} //rs, err := ioutil.ReadAll(rsp.Body) //if err != nil { // //} //fmt.Println(string(rs)) //接受完请求要关闭 //rsp.Body.Close() //组装请求 data := url.Values{} urlObj, _ := url.ParseRequestURI("http://127.0.0.1:8080/healthCheck") data.Set("A", "测试") urlStr := data.Encode() fmt.Println(urlStr) //A=%E6%B5%8B%E8%AF%95 //中文会转化为编码 urlObj.RawQuery = urlStr req, err := http.NewRequest("GET", urlObj.String(), nil) if err != nil { } //添加请求头 req.Header.Add("","") resp, err := http.DefaultClient.Do(req) if err != nil { } rsp, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(rsp)) //接受完请求要关闭 resp.Body.Close() //post请求 http.PostForm("url", url.Values{"id": {"11"}}) //上传文件 http.Post("url","image/jpeg",*io.Reader) //json data=`{"name":"test","age":10}` resp,err:=http.Post("url","application/json",strings.NewReader(data)) if err != nil { } rsp, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(rsp)) resp.Body.Close()}