go语言中模拟启动一个http服务很简单,由于go语言中net包提供了http服务,只需要2行代码就能简单实现一个http服务
好了废话不多说了 ,上代码
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/",sayhello);
err := http.ListenAndServe("127.0.0.1:8080",nil)
if err!=nil {
fmt.Println("网络错误")
return
}
}
func sayhello(writer http.ResponseWriter, request *http.Request) {
writer.Write([]byte("<p style='color:red;'>你好啊哈哈哈哈哈</p>"))
}
启动监听8080端口,我们使用浏览器来访问
可以看到非常方便简洁,不需要其他第三方容器啥的
另外使用go语言请求http服务
这里模拟请求www.json.cn:80服务
package main
import (
"fmt"
"io"
"net"
)
func main() {
dial, err := net.Dial("tcp", "www.json.cn:80")
if err!=nil{
fmt.Println("网络错误,",err)
return
}
_, err = dial.Write([]byte("GET / HTTP/1.0 \r\n\r\n"))
if err!=nil{
fmt.Println("网络错误")
return
}
var b[1024]byte
for {
n, err := dial.Read(b[:])
if err!=nil {
return
}
if err == io.EOF {
fmt.Println("请求到的数据:", string(b[:n]))
return
}
fmt.Println("请求到的数据 :", string(b[:n]))
}
}
可以看到请求返回的http报文
这里仅展示部分
go语言中http 不管是请求还是监服务很是简单,极少的代码就可以实现
|