1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Go使用HTTPClient发送Get Post请求

Go使用HTTPClient发送Get Post请求

时间:2022-12-14 12:43:44

相关推荐

Go使用HTTPClient发送Get Post请求

Get请求

url := c.Host + WarningNumreq, err := http.NewRequest("GET", url, nil)q := req.URL.Query()q.Add("psaId", paramGet.PsaId)q.Add("paasZoneCode", paramGet.PaasZoneCode)req.URL.RawQuery = q.Encode()req.Header.Add("Content-Type", "application/json")if err != nil {return 0, err}client := &http.Client{}rsp, err := client.Do(req)if err != nil {return 0, err}defer rsp.Body.Close()if rsp.StatusCode != http.StatusOK && rsp.StatusCode != http.StatusNoContent {return 0, fmt.Errorf("http response status error code: %v", rsp.StatusCode)}var rspData new_panel.WarnNumResponsedecoder := json.NewDecoder(rsp.Body)err = decoder.Decode(&rspData)if err != nil {return 0, err}if rspData.Status != "0000" {if rspData.Status == "0001" {return 0, err} else {return 0, fmt.Errorf("ClientAlertManager.GetWarnNum Error")}}return rspData.Data.TotalValue, nil

Post请求

url := c.Host + TagListbodyBytes, err := json.Marshal(param)if err != nil {return nil, err}req, err := http.NewRequest("POST", url, bytes.NewBuffer(bodyBytes))if err != nil {return nil, err}req.Header.Add("Content-Type", "application/json")client := &http.Client{}rsp, err := client.Do(req)if err != nil {return nil, err}defer rsp.Body.Close()if rsp.StatusCode != http.StatusOK && rsp.StatusCode != http.StatusNoContent {return nil, fmt.Errorf("http response status error code: %v", rsp.StatusCode)}var rspData new_panel.HttpClusterTagListdecoder := json.NewDecoder(rsp.Body)err = decoder.Decode(&rspData)if err != nil {return nil, err}if rspData.Status != "0000" {if rspData.Status == "0001" {return nil, nil} else {return nil, fmt.Errorf("ClientMetaData.GetResourceTree")}}return rspData, nil

Get Post混合请求

url := c.Host + WarningNumbodyBytes, err := json.Marshal(paramPost)if err != nil {return 0, err}req, err := http.NewRequest("POST", url, bytes.NewBuffer(bodyBytes))q := req.URL.Query()q.Add("psaId", paramGet.PsaId)q.Add("paasZoneCode", paramGet.PaasZoneCode)req.URL.RawQuery = q.Encode()req.Header.Add("Content-Type", "application/json")if err != nil {return 0, err}client := &http.Client{}rsp, err := client.Do(req)if err != nil {return 0, err}defer rsp.Body.Close()if rsp.StatusCode != http.StatusOK && rsp.StatusCode != http.StatusNoContent {return 0, fmt.Errorf("http response status error code: %v", rsp.StatusCode)}var rspData new_panel.WarnNumResponsedecoder := json.NewDecoder(rsp.Body)err = decoder.Decode(&rspData)if err != nil {return 0, err}if rspData.Status != "0000" {if rspData.Status == "0001" {return 0, err} else {return 0, fmt.Errorf("ClientAlertManager.GetWarnNum Error")}}return rspData.Data.TotalValue, nil

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。