Go語言已經成為了很多開發者熱愛的語言之一。它以其高效和簡單易學而得到了許多人的喜愛。Go語言中的web開發也變得越來越受歡迎。但是有時候,我們需要用到在這些web應用中發送請求,例如post json請求。下面,我來介紹如何用Go語言來模擬post json請求。
// 代碼開始 package main import ( "bytes" "encoding/json" "net/http" "net/url" "io/ioutil" "fmt" ) func main() { postUrl := "https://www.example.com/" // post數據 data := make(map[string]string) data["name"] = "golang" data["project"] = "go project" jsonStr, err := json.Marshal(data) req, err := http.NewRequest("POST", postUrl, bytes.NewBuffer(jsonStr)) defer req.Body.Close() // 設置請求頭信息 req.Header.Set("Content-Type", "application/json;charset=UTF-8") req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36") httpClient := &http.Client{} resp, err := httpClient.Do(req) if err != nil { fmt.Println("post error:", err) return } response, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("read error:", err) return } fmt.Println(string(response)) } // 代碼結束
在上面的代碼中,首先我們需要準備posturl以及post數據。然后將post數據通過json.Marshal函數轉換成JSON格式的字符串,接著我們構建http請求request,并設置請求頭信息。構造httpClient來發送請求。最后,我們獲取到response的Body,并將其轉換成字符串顯示出來。