golang:模拟http post请求
Posted ecake
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang:模拟http post请求相关的知识,希望对你有一定的参考价值。
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,执行结果
以上是关于golang:模拟http post请求的主要内容,如果未能解决你的问题,请参考以下文章
golang使用http client发起get和post请求示例