Go语言服务器开发实现最简单HTTP的GET与POST接口
本文实例讲述了go语言服务器开发实现最简单http的get与post接口。分享给大家供大家参考。具体分析如下:
go语言提供了http包,可以很轻松的开发http接口。以下为示例代码:
package webserver
import (
"encoding/json"
"fmt"
"net/http"
"time"
)
func webserverbase() {
fmt.println("this is webserver base!")
//第一个参数为客户端发起http请求时的接口名,第二个参数是一个func,负责处理这个请求。
http.handlefunc("/login", logintask)
//服务器要监听的主机地址和端口号
err := http.listenandserve("192.168.1.27:8081", nil)
if err != nil {
fmt.println("listenandserve error: ", err.error())
}
}
func logintask(w http.responsewriter, req *http.request) {
fmt.println("logintask is running...")
//模拟延时
time.sleep(time.second * 2)
//获取客户端通过get/post方式传递的参数
req.parseform()
param_username, found1 := req.form["username"]
param_password, found2 := req.form["password"]
if !(found1 && found2) {
fmt.fprint(w, "请勿非法访问")
return
}
result := newbasejsonbean()
username := param_username[0]
password := param_password[0]
s := "username:" + username + ",password:" + password
fmt.println(s)
if username == "zhangsan" && password == "123456" {
result.code = 100
result.message = "登录成功"
} else {
result.code = 101
result.message = "用户名或密码不正确"
}
//向客户端返回json数据
bytes, _ := json.marshal(result)
fmt.fprint(w, string(bytes))
}
newbasejsonbean用于创建一个struct对象:
package webserver
type basejsonbean struct {
code int `json:"code"`
data interface{} `json:"data"`
message string `json:"message"`
}
func newbasejsonbean() *basejsonbean {
return &basejsonbean{}
}
希望本文所述对大家的go语言程序设计有所帮助。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
Go打包二进制文件的实现
背景众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。操作需求:打包部署到centos7笔者打包...
[阅读全文]
-
-
-
-
golang语言编码规范的实现
本规范旨在为日常go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 ...
[阅读全文]
-
-
-
网友评论