Go语言实现HTTP服务端与客户端的例子
HTTP服务端
在Go语言中实现HTTP服务端可以使用内置的net/http包,这个包提供了HTTP协议的标准实现,可以用来实现HTTP服务端和客户端。
下面是一个简单的例子,演示了如何使用net/http
包创建HTTP服务端并对收到的请求进行响应。
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
})
http.ListenAndServe(":8080", nil)
}
这个例子中,我们使用http.HandleFunc
函数为路径"/"
设置了一个处理函数。当客户端请求该路径时,处理函数将向客户端发送"Hello, World!"的响应。
最后调用http.ListenAndServe
函数并传入监听地址和处理函数,就可以启动HTTP服务了。这里我们监听了8080端口。
HTTP客户端
Go语言中实现HTTP客户端也可以使用内置的net/http
包,使用这个包我们可以方便地发送和接收HTTP请求和响应。
以下是一个简单的例子,演示了如何使用http.Get
函数向指定URL发送GET请求并接收响应。
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
resp, err := http.Get("http://example.com/")
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
在这个例子中,我们使用http.Get
函数向http://example.com/
发送了一个GET请求。如果没有错误发生,我们接着读取响应的Body并使用ioutil.ReadAll
函数将其读取到一个字符串中,最后将这个字符串打印到控制台上。
总结
Go语言中使用内置的net/http
包可以很容易地实现HTTP服务端和客户端。http.HandleFunc
和http.ListenAndServe
函数可以让我们方便地创建HTTP服务端。http.Get
和http.Post
函数则可以让我们方便地发送HTTP请求,并获取响应。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:go语言实现http服务端与客户端的例子 - Python技术站