golang post请求常用的几种方式

时间:2025-03-03 11:43:18
func httpPost() { resp, err := http.Post("https:///api/v1/login", "application/x-www-form-urlencoded", strings.NewReader("username=test&password=ab123123")) if err != nil { fmt.Println(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) } func httpPostForm() { resp, err := http.PostForm("/api/v1/login", url.Values{"username": {"auto"}, "password": {"auto123123"}}) if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) } func httpPostJson() { jsonStr :=[]byte(`{ "username": "auto", "password": "auto123123" }`) url:= "/api/v1/login" req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { // handle error } defer resp.Body.Close() statuscode := resp.StatusCode hea := resp.Header body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) fmt.Println(statuscode) fmt.Println(hea) }