Golang Web编程入门示例


Go语言内置了Web服务;net/http 标准库中包含有关HTTP协议的所有功能。这其中包括HTTP客户端和HTTP服务端,在本文中,你将发现使用GO创建一个可在浏览器中查看的WEB服务程序非常简单。

注册请求处理函数

首先,创建一个处理程序;该处理程序从浏览器,HTTP客户端或API请求接收所有传入的HTTP连接。

func ( w http.ResponseWriter , r *http.Request)

该函数接收两个参数:

一个http.ResponseWriter 用于text/html响应。

http.Request 其中包含有关此HTTP请求的所有信息,包括URL或者请求头字段之类的信息。

将请求处理函数注册到默认的HTTP Server:

http.HandleFunc("/",func(w http.ResponseWriter,r *http.Request){
    fmt.Fprintf(w,"你好,你请求了:%s\n",r.URL.Path)
})
侦听HTTP连接

仅请求处理程序不能接受来自外部的任何HTTP连接。HTTP服务器必须侦听端口以将连接传递到请求处理程序。大多数情况下,80端口是HTTP服务的默认端口,所以本示例中还将侦听它,你可以自行修改。

以下代码将启动Go的默认HTTP服务,并侦听80端口上的连接。你可以在浏览器上打开 http://localhost/ 或者http://127.0.0.1/ 看到程序实现效果。

http.ListenAndServe(":80",nil)
完整的示例代码
package main
 
import (
    "fmt"
    "net/http"
)
 
func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "你好,你的请求是 %s\n", r.URL.Path)
    })
 
    http.ListenAndServe(":80", nil)
}

将代码保存为go_web.go,并使用Go 进行编译;

如无报错,你会得到一个go_web.exe 可执行文件(Windows系统下),运行它。如果你的系统装有防火墙,可能会进行拦截,允许就好。

现在打开浏览器,输入 http://127.0.0.1/ 即可查看效果,不妨在后面加几个字符,你会看到不同的效果。


如需转载,请注明出处,本文地址:https://www.perfcode.com/p/1411.html