Go 搭建一个 Web 服务器

忘是亡心i 2021-07-24 20:23 618阅读 0赞

一 点睛

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

二 代码

  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. "strings"
  7. )
  8. func sayhelloName(w http.ResponseWriter, r *http.Request) {
  9. // 解析参数,默认是不会解析的
  10. r.ParseForm()
  11. // 这些信息是输出到服务器端的打印信息
  12. fmt.Println(r.Form)
  13. fmt.Println("path", r.URL.Path)
  14. fmt.Println("scheme", r.URL.Scheme)
  15. fmt.Println(r.Form["url_long"])
  16. for k, v := range r.Form {
  17. fmt.Println("key:", k)
  18. fmt.Println("val:", strings.Join(v, ""))
  19. }
  20. // 这个写入到 w ,然后输出到客户端
  21. fmt.Fprintf(w, "Hello go web!")
  22. }
  23. func main() {
  24. http.HandleFunc("/", sayhelloName) // 设置访问的路由
  25. err := http.ListenAndServe(":9090", nil) // 设置监听的端口
  26. if err != nil {
  27. log.Fatal("ListenAndServe: ", err)
  28. }
  29. }

三 测试

1 说明

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

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

3 浏览器页面输出如下。

20210602172647782.png

4 服务器输出如下。

map[]

path /

scheme

[]

map[]

path /favicon.ico

scheme

[]

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

6 浏览器页面输出如下。

20210602172851176.png

7 服务器输出如下。

map[url_long:[111 222]]

path /

scheme

[111 222]

key: url_long

val: 111222

map[]

path /favicon.ico

scheme

[]

发表评论

表情:
评论列表 (有 0 条评论,618人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用Linuxweb服务器

    对于一个网站开发者而言,在经历了艰难的开发过程后,要将网站推向给用户,必须要做的一步便是部署我们的web应用,这样广大的用户才能成功访问我们的网站。目前主流的部署平台都是基于L

    相关 go一个简单web服务器

    Go语言里面提供了一个完善的net/http包,通过http包可以很 方便的就搭建起来一个可以运行的web服务。同时使用这个包能很简单地对web的路由,静态文件,模版,co