Go语言服务器开发实现最简单HTTP的GET与POST接口_Golang

本文实例讲述了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语言程序设计有所帮助。

时间: 2024-09-20 00:38:08

Go语言服务器开发实现最简单HTTP的GET与POST接口_Golang的相关文章

Go语言服务器开发之简易TCP客户端与服务端实现方法_Golang

本文实例讲述了Go语言服务器开发之简易TCP客户端与服务端实现方法.分享给大家供大家参考.具体实现方法如下: Go语言具备强大的服务器开发支持,这里示范了最基础的服务器开发:通过TCP协议实现客户端与服务器的通讯. 一 服务端,为每个客户端新开一个goroutine 复制代码 代码如下: func ServerBase() {      fmt.Println("Starting the server...")      //create listener      listener,

Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法_Golang

本文实例讲述了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package mysocket    import (      "fmt"      "io"      "net"  )    func MySocketBase() {      var (          host   = "www.apache.org"         

利用XML开发留言板简单的例子

xml XML是一种基于文本格式的元标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离(xml+xsl),而且是与平台无关的. 由于XML注重数据内容的描述,因而,对于数据的检索非常有意义,我们不会再象HTML那样,检索出与我们要求无关的信息. 另一方面,XML文件是数据的载体,利用XML作为数据库,不需要访问任何数据库系统,我们可以使用任意WEB技术来显示我们的数据,比如HTML,FlashMX 等. 由于世界各大计算机公司的积极参与,XML正日益成为基于互联网的数据格

APP开发的一些简单流程思路

APP开发的一些简单流程思路   项目最初想法的形成 1.  项目最初想法的形成 l  一款APP不是随便就会出来,自然是由项目发起人在某个场景中形成的.有可能是项目发起人所处的工作环境,有可能是由某件事情,有可能是项目发起的人生活经历等等,场景不一致,也直接导致了APP定位和方向,面向的用户群体.   l  用户的基本调研问卷 l  绝大多数的自己的想法或者商业模式,在没有得到确凿的数据论证之前,是很难断定是否适合目前的市场,所以需要收集广大用户的问卷调研结果,并进行分析,这样就可判断自己所思

利用XML开发留言板简单的例子_XML/RSS

XML是一种基于文本格式的元标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离(xml+xsl),而且是与平台无关的. 由于XML注重数据内容的描述,因而,对于数据的检索非常有意义,我们不会再象HTML那样,检索出与我们要求无关的信息. 另一方面,XML文件是数据的载体,利用XML作为数据库,不需要访问任何数据库系统,我们可以使用任意WEB技术来显示我们的数据,比如HTML,FlashMX 等. 由于世界各大计算机公司的积极参与,XML正日益成为基于互联网的数据格式新一代

写给那些傻傻的,想做服务器开发的应届生

前言 猿题库刚刚结束了北京地区的大规模校园招聘,国庆之后打算转战外地进行校招.我本人深度参与了此次的校招工作,包括笔试题命题.面试题命题以及具体的面试工作. 我在面试中发现了一个非常有意思的现象,就是大多数应届生都想做服务器端开发,但是他们却又不清楚服务器端开发具体要做些什么. 我和同事聊天的时候说起此事,我们认为可能应届生觉得:做服务器端开发可以让自己写的程序运行在很多台机器上,并且处理海量的数据,这很「牛逼」.而做客户端或前端开发太简单,成长会比较小. 于是我就写了本文,想给这些单纯的应届生

iOS开发Swift篇—简单介绍

一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为"雨燕",是它的LOGO 是一只燕子,跟Objective-C一样,可以用于开发iOS.Mac应用程序 苹果从2010年7月开始设计Swift语言,耗时4年打造 Swift的语法特点 从它的语法中能看到Objective-C.JavaScript.Python等语言的影子 语法简单.代码简洁.使用方便 可与Objective-C混合使用(相互调用) 为什么要设计Swift语言? 让应

Android开发中的简单设置技巧集锦_Android

本文实例总结了Android开发中的简单设置技巧.分享给大家供大家参考,具体如下: 1开机图片: android-logo-mask.png android-logo-shine.png 这两个图片一个在上一个在下 ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png ./frameworks/base/core

求在读计算机专业研究生讲解B/S架构程序开发基础和简单培训

问题描述 求B/S架构程序开发基础讲解和培训求在读计算机专业研究生讲解B/S架构程序开发基础和简单培训本人是在上海浦东陆家嘴地区.因为任务需要见面完成,所以不接收外地竞标任务:1.讲解对一个新的阿里云服务器以及一台电脑进行配置,能用于B/S架构程序的运行.也就是本人对于服务器的配置,服务器上需要运行什么软件才能运行B/S架构的软件不熟悉,需要指导.2.讲解服务器程序的运行过程,数据流向,技术术语3.设计一个简单的服务器程序,简单的数据库和一个WEB页面.WEB页面上一个是显示窗口,一个是输入窗口