1, send HTTP POST request (client)
Func HttpPost () {data: = ' {' type ': ' Ten ', ' msg ': ' Hello. '} ' request, _: = http. Newrequest ("POST", "http://0.0.0.0:8090/msg", strings. Newreader (data)//post the data and receives the HTTP response 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, receive method (server side)
Package Mainimport ("Net/http" "Io/ioutil" "FMT") func main () {//Set the route and receive HTTP requests by MUX: =http. Newservemux () Mux. Handlefunc ("/msg", Recvhandle)//Set HTTP service server: =&http. SERVER{ADDR: "0.0.0.0:8090", handler:mux,}//start monitoring 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, execution results
Golang: Analog HTTP POST request