1,发送http post请求(客户端)
func httppost() { data :=`{"type":"10","msg":"hello."}` request, _ := http.NewRequest("POST", "http://0.0.0.0:8090/msg", strings.NewReader(data)) //post数据并接收http响应 resp,err :=http.DefaultClient.Do(request) if err!=nil{ fmt.Printf("post data error:%v\n",err) }else { fmt.Println("post a data successful.") respBody,_ :=ioutil.ReadAll(resp.Body) fmt.Printf("response data:%v\n",string(respBody)) } }
2,接收方法(服务端)
package main import ( "net/http" "io/ioutil" "fmt" ) func main() { //设置路由和接收HTTP请求的方法 mux :=http.NewServeMux() mux.HandleFunc("/msg",recvHandle) //设置http服务 server :=&http.Server{ Addr: "0.0.0.0:8090", Handler: mux, } //启动监听 server.ListenAndServe() } func recvHandle(w http.ResponseWriter, r *http.Request) { body,_ :=ioutil.ReadAll(r.Body) fmt.Println(string(body)) fmt.Fprintf(w,"3q your msg.") }
3,执行结果