在 Ubuntu 中使用 Go 语言的 net/http 包来创建 HTTP 服务器和客户端非常简单。以下是一个基本的示例,展示了如何使用 net/http 包来创建一个简单的 HTTP 服务器,并在浏览器中访问它。
步骤 1: 安装 Go
首先,确保你已经在 Ubuntu 上安装了 Go。如果还没有安装,可以通过以下命令安装:
sudo apt update
sudo apt install golang-go
你可以通过运行 go version 来验证安装是否成功。
步骤 2: 创建一个简单的 HTTP 服务器
-
创建一个新的目录来存放你的 Go 代码:
mkdir ~/go-http-server cd ~/go-http-server -
使用你喜欢的文本编辑器(如
nano,vim, 或gedit)创建一个新的 Go 文件,例如main.go:nano main.go -
在
main.go文件中输入以下代码:package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }) log.Println("Starting server at port 8080") if err := http.ListenAndServe(":8080", nil); err != nil { log.Fatal(err) } } -
保存并关闭文件。
-
运行你的 Go 程序:
go run main.go你应该会看到类似以下的输出:
Starting server at port 8080
步骤 3: 访问 HTTP 服务器
打开你的浏览器,访问 http://localhost:8080。你应该会看到页面上显示 “Hello, World!”。
解释
http.HandleFunc("/", handler):将根路径/的请求处理函数设置为handler。handler函数接受两个参数:http.ResponseWriter和*http.Request。http.ResponseWriter用于写入响应,*http.Request包含请求的信息。fmt.Fprintf(w, "Hello, World!"):将 “Hello, World!” 写入响应。http.ListenAndServe(":8080", nil):在端口 8080 上启动 HTTP 服务器。nil表示使用默认的ServeMux。
创建 HTTP 客户端
你也可以使用 net/http 包来创建一个简单的 HTTP 客户端。以下是一个示例:
-
在
main.go文件中添加以下代码:package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("http://localhost:8080") if err != nil { fmt.Println("Error:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(body)) } -
保存并关闭文件。
-
运行你的 Go 程序:
go run main.go你应该会看到输出 “Hello, World!”,这是从你的 HTTP 服务器获取的响应。
通过这些步骤,你可以在 Ubuntu 中使用 Go 语言的 net/http 包来创建和测试 HTTP 服务器和客户端。
以上就是关于“golang在ubuntu中如何使用net/http包”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm