分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

golang 简单的http服务

发布时间:2023-09-06 01:38责任编辑:胡小海关键词:http
一个简单的http 服务, 源码如下:
func TestHttp(t *testing.T){
?????http.HandleFunc("/", sayhelloName) ??????//设置访问的路由
?????http.HandleFunc("/login", login) ????????//设置访问的路由
?????err := http.ListenAndServe(":9090", nil) //设置监听的端口
?????if err != nil {
????????log.Fatal("ListenAndServe: ", err)
?????}
}
func sayhelloName(w http.ResponseWriter, r *http.Request) {
??r.ParseForm() ??????//解析url传递的参数,对于POST则解析响应包的主体(request body)
??//注意:如果没有调用ParseForm方法,下面无法获取表单的数据
??fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
??fmt.Println("path", r.URL.Path)
??fmt.Println("scheme", r.URL.Scheme)
??fmt.Println(r.Form["url_long"])
??for k, v := range r.Form {
?????fmt.Println("key:", k)
?????fmt.Println("val:", strings.Join(v, ""))
??}
??fmt.Fprintf(w, "Hello astaxie!") //这个写入到w的是输出到客户端的
}

func login(w http.ResponseWriter, r *http.Request) {
??fmt.Println("method:", r.Method) //获取请求的方法
??if r.Method == "GET" {
?????t, _ := template.ParseFiles("login.gtpl")
?????log.Println(t.Execute(w, nil))
??} else {
?????//请求的是登录数据,那么执行登录的逻辑判断
?????fmt.Println("username:", r.Form["username"])
?????fmt.Println("password:", r.Form["password"])
??}
}

golang 简单的http服务

原文地址:https://www.cnblogs.com/EvildoerOne/p/8337300.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved