Go开发HTTP
来源:互联网 发布:娱乐网源码 编辑:程序博客网 时间:2024/06/02 03:33
package mainimport ( "net/http" "io/ioutil" "fmt")func HttpHandler(w http.ResponseWriter, r *http.Request) { body, err := ioutil.ReadAll(r.Body) if err != nil { fmt.Println("read body fail", err) w.WriteHeader(500) return } w.Write([]byte("body: ")) w.Write(body) w.Write([]byte("\n")) fmt.Println("post sucess!") fmt.Println("content: ", string(body))}func main() { http.HandleFunc("/", HttpHandler) http.ListenAndServe(":12345", nil)}
测试:
curl -X POST --data "hello wwh!" http://192.168.1.96:12345/
解析JSON格式
package mainimport ( "net/http" "io/ioutil" "fmt" "encoding/json" "strconv")type User struct { Id int `json:"id"` Name string `json:"name"`}func HttpHandle(w http.ResponseWriter, r *http.Request) { body, err := ioutil.ReadAll(r.Body) if err != nil { fmt.Println("read body fail:", err) w.WriteHeader(500) return } var user User if err = json.Unmarshal(body, &user); err != nil { fmt.Println("json Unmarshal fail", err) w.WriteHeader(500) return } //respone data w.Write([]byte("user.id: " + strconv.Itoa(user.Id) + " \n")) w.Write([]byte("user.name: " + user.Name)) w.Write([]byte("\n")) //print in console fmt.Println("data: ", user)}func main() { http.HandleFunc("/", HttpHandle) http.ListenAndServe(":12346", nil)}
发送post请求
curl -H "Content-Type: application/json" -X POST --data '{"id":123,"name":"xyz"}' http://192.168.1.96:12346/
阅读全文
0 0
- Go开发HTTP
- Go-HTTP
- go http transfer.go学习
- go开发
- go http client, http server
- Go 的 HTTP 工具
- GO语言HTTP代理服务器
- Go net/http包
- Go-http-HandlerFunc()函数
- Go-HTTP-RedirectHandler
- go http包学习
- go http异常处理
- go http分析
- go的http详解
- go的http包
- go http server读书笔记
- go http 请求封装
- go http服务器
- Shell编程基础
- [软件开发] 基于Qt开发的一款免费取色器软件
- JSON的解析 --之 FastJson 的使用
- linux环境切换文件的用户权限
- HDOJ 2113 Secret Number(水题)
- Go开发HTTP
- Wireless Network POJ
- 5.5-5.6
- 一个字句切割(strtok_s)
- js判断是手机端还是电脑端
- 【android】7、五大存储之SharedPreferences
- AI医疗--概念,应用场景及现状解析
- define与inline的区别
- hadoop 2.7.4伪分布式安装(参照官网单节点安装)