xdm,咱今天分享一个 golang web 实战的 demo
go 的 http 包,以前都有或多或多的提到一些,也有一些笔记在我们的历史文章中,今天来一个简单的实战
HTTP 编程 Get
先来一个 小例子,简单的写一个 Get 请求
-
拿句柄
-
设置监听地址和端口
-
进行数据处理
package main import ( "fmt" "net/http" ) func myHandle(w http.ResponseWriter, req *http.Request){ defer req.Body.Close() par := req.URL.Query() fmt.Println("par :",par) //回写数据 fmt.Fprintln(w,"name",par.Get("name"),"hobby",par.Get("hobby")) } // server 端 func main() { http.HandleFunc("/", myHandle) err := http.ListenAndServe("0.0.0.0:9999", nil) if err != nil{ fmt.Printf("ListenAndServe err : %v",err) return } }
上述的代码比较简单,就是一个简单的 http get 请求 , 主要处理数据的是 myHandle 函数
Client 客户端 实现方法 get
-
client.go
- get方法、post方法、patch方法、head方法、put方法等等,用法基本一致
- 设置url
- get (或者其他方法)方法请求 url
- 处理数据
package main import ( "fmt" "io/ioutil" "net/http" "net/url" ) //httpserver 端 func main() { //1.处理请求参数 params := url.Values{ } params.Set("name", "xiaomotong") params.Set("hobby", "乒乓球") //2.设置请求URL rawUrl := "http://127.0.0.1:9999" reqURL, err := url.ParseRequestURI(rawUrl) if err != nil</