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 mainimport ("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,执行结果
golang:模拟http post请求
原文地址:https://www.cnblogs.com/ecake/p/8831099.html