欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go http client json

林雅南1年前6瀏覽0評論

Go語言的HTTP client包使得發(fā)送HTTP請求變得輕松簡單,它支持發(fā)送JSON請求,同時也可以通過解析響應的JSON數據來獲得所需的信息。

import (
"encoding/json"
"net/http"
)
type User struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
u := User{Name: "Tom", Age: 18}
b, err := json.Marshal(u)
if err != nil {
panic(err)
}
req, err := http.NewRequest("POST", "http://example.com/api/users", bytes.NewBuffer(b))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var user User
err = json.NewDecoder(resp.Body).Decode(&user)
if err != nil {
panic(err)
}
}

在上面的示例中,首先創(chuàng)建了一個User結構體,然后使用json.Marshal()函數將結構體的數據編碼為JSON格式,并將其作為請求的body發(fā)送到指定的HTTP地址。此外,還需要設置請求頭的Content-Type為application/json,以告訴服務器請求的格式。

然后使用http.NewRequest()函數創(chuàng)建一個請求,該請求采用POST方法,并將JSON格式的數據傳遞給服務器。在得到響應后,使用json.NewDecoder()函數將響應體的JSON數據解碼為User結構體。

在實際開發(fā)中,我們可能需要處理各種不同的HTTP請求和響應,但使用Go語言的HTTP client包卻可以輕松地實現我們的需求。