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,执行结果
来源:oschina
链接:https://my.oschina.net/u/4350719/blog/4355696