Go 搭建一个 Web 服务器

一 点睛

Web 是基于 http 协议的一个服务,Go 语言里面提供了一个完善的 net/http 包,通过 http 包可以很方便的就搭建起来一个可以运行的 Web 服务。同时使用这个包能很简单地对 Web 的路由,静态文件,模版,cookie 等数据进行设置和操作。

二 代码

package main

import (
   "fmt"
   "log"
   "net/http"
   "strings"
)

func sayhelloName(w http.ResponseWriter, r *http.Request) {
   // 解析参数,默认是不会解析的
   r.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, ""))
   }
   // 这个写入到 w ,然后输出到客户端
   fmt.Fprintf(w, "Hello go web!")
}

func main() {
   http.HandleFunc("/", sayhelloName)       // 设置访问的路由
   err := http.ListenAndServe(":9090", nil) // 设置监听的端口
   if err != nil {
      log.Fatal("ListenAndServe: ", err)
   }
}

三 测试

1 说明

上面代码,在 build 之后,再执行 web.exe ,此时在 9090 端口监听 http 链接请求了。

2 在浏览器输入 http://localhost:9090

3 浏览器页面输出如下。

4 服务器输出如下。

map[]

path /

scheme

[]

map[]

path /favicon.ico

scheme

[]

5 在浏览器输入 http://localhost:9090/?url_long=111&url_long=222

6 浏览器页面输出如下。

7 服务器输出如下。

map[url_long:[111 222]]

path /

scheme

[111 222]

key: url_long

val: 111222

map[]

path /favicon.ico

scheme

[]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值