package main
import (
"fmt"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)
func main() {
// 创建一个 HTTP 客户端
client := ghttp.NewClient()
// 发送 GET 请求
resp, err := client.Get("https://jsonplaceholder.typicode.com/todos/1")
if err != nil {
fmt.Println("GET 请求发生错误:", err)
} else {
fmt.Println("GET 响应状态码:", resp.StatusCode)
fmt.Println("GET 响应内容:", resp.ReadAllString())
}
// 发送 POST 请求
resp, err = client.Post("https://jsonplaceholder.typicode.com/posts", g.Map{
"title": "foo",
"body": "bar",
"userId": 1,
})
if err != nil {
fmt.Println("POST 请求发生错误:", err)
} else {
fmt.Println("POST 响应状态码:", resp.StatusCode)
fmt.Println("POST 响应内容:", resp.ReadAllString())
}
}
在这个例子中,我们首先创建了一个 ghttp.Client 对象,然后使用该对象发送了一个 GET 请求和一个 POST 请求。Get 和 Post 方法的第一个参数是请求的URL,而第二个参数是可选的请求数据。在 POST 请求中,我们通过 g.Map 传递了 JSON 格式的请求数据。
ghttp.Response 对象包含了响应的各种信息,比如状态码、响应头和响应体。通过 resp.ReadAllString() 方法,我们可以获取到响应体的字符串形式。
需要注意的是,这只是一个简单的示例。在实际应用中,你可能需要更复杂的请求和处理逻辑,例如设置请求头、处理响应的 JSON 数据、处理错误等。
除了 Get 和 Post,ghttp.Client 还提供了一系列其他方法,用于发送各种类型的请求,例如 Put、Delete、Patch 等。你可以根据具体需求选择合适的方法。查阅 GoFrame 文档以获取更多关于 ghttp.Client 的信息和用法。
转载请注明出处:http://www.zyzy.cn/article/detail/7841/GoFrame