欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go搭建一个Web服务器

程序员文章站 2022-03-29 10:58:07
我们可以使用http包建立Web服务器 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "strings" 7 "net/http" 8 ) 9 10 func sayHelloName(w http.ResponseWriter,r *http.Requ ......

我们可以使用http包建立web服务器

 

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "log"
 6     "strings"
 7     "net/http"
 8 )
 9 
10 func sayhelloname(w http.responsewriter,r *http.request){
11     r.parseform() // 解析参数
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     fmt.fprintf(w,"hello astaxie!")
21 }
22 
23 func main(){
24     http.handlefunc("/",sayhelloname) // 设置访问的路由
25     err := http.listenandserve(":9090",nil) // 设置监听的端口
26     if err != nil{
27         log.fatal("listenandserver failed:",err)
28     }
29 }

 

上面这个代码,我们build之后,然后执行web.exe,这个时候其实已经在9090端口监听http链接请求了。

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

可以看到浏览器页面输出了hello astaxie!

可以换一个地址试试:http://localhost:9090/?url_long=111&url_long=222

看看浏览器输出的是什么,服务器输出的是什么?

在服务器端输出的信息如下:

Go搭建一个Web服务器

用户访问web之后服务器端打印的信息

我们看到上面的代码,要编写一个web服务器很简单,只要调用http包的两个函数就可以了。

Go搭建一个Web服务器