08.net/http
01.net/http(GET)
- Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。
1.1 无参GET
- 使用net/http包编写一个简单的发送HTTP请求的Client端
1.2 带参GET
- 关于GET请求的参数需要使用Go语言内置的net/url这个标准库来处理。
关于GET请求的参数需要使用Go语言内置的net/url这个标准库来处理。
1.3 自定义Client
- 要管理HTTP客户端的头域、重定向策略和其他设置,创建一个Client:
1.4 自定义Transport
- 要管理代理、TLS配置、keep-alive、压缩和其他设置,创建一个Transport
- Client和Transport类型都可以安全的被多个go程同时使用,出于效率考虑,应该一次建立、尽量重用。
02.net/http(POST)
2.1 Post请求示例
- 上面演示了使用net/http包发送GET请求的示例,发送POST请求的示例代码如下:
2.2 Server端
03.服务端
3.1 默认的Server
- ListenAndServe使用指定的监听地址和处理器启动一个HTTP服务端。
- 处理器参数通常是nil,这表示采用包变量DefaultServeMux作为处理器。
- Handle和HandleFunc函数可以向DefaultServeMux添加处理器。
3.2 自定义Server
- 要管理服务端的行为,可以创建一个自定义的Server: