12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package utils
- import (
- "bytes"
- "fmt"
- "io"
- "net/http"
- "net/url"
- )
- // Get 发送GET请求
- func Get(url string, params url.Values, headers map[string]string) ([]byte, error) {
- // requestURL := fmt.Sprintf("%s?%s", url, params.Encode())
- // req, err := http.NewRequest("GET", requestURL, nil)
- // if err != nil {
- // return nil, err
- // }
- // for key, value := range headers {
- // req.Header.Set(key, value)
- // }
- // resp, err := http.DefaultClient.Do(req)
- // if err != nil {
- // return nil, err
- // }
- // defer resp.Body.Close()
- // return io.ReadAll(resp.Body)
- return nil, nil
- }
- // Post 发送POST请求, body体为json格式
- func Post(url string, params []byte, headers map[string]string) ([]byte, error) {
- req, err := http.NewRequest("POST", url, bytes.NewBuffer(params))
- if err != nil {
- fmt.Println("Post NewRequest error:", err.Error())
- return nil, err
- }
- req.Header.Set("Content-Type", "application/json")
- for key, value := range headers {
- req.Header.Set(key, value)
- }
- resp, err := http.DefaultClient.Do(req)
- if err != nil {
- fmt.Println("Post Do error:", err.Error())
- return nil, err
- }
- if resp.StatusCode >= 400 {
- return nil, fmt.Errorf("Post request error: %s", resp.Status)
- }
- defer resp.Body.Close()
- return io.ReadAll(resp.Body)
- }
- // Post 发送POST请求, url.Values处理版本
- // func Post(url string, params url.Values, headers map[string]string) ([]byte, error) {
- // body, _ := json.Marshal(params)
- // req, err := http.NewRequest("POST", url, bytes.NewBuffer(body))
- // if err != nil {
- // return nil, err
- // }
- // req.Header.Set("Content-Type", "application/json")
- // for key, value := range headers {
- // req.Header.Set(key, value)
- // }
- // resp, err := http.DefaultClient.Do(req)
- // if err != nil {
- // return nil, err
- // }
- // defer resp.Body.Close()
- // return io.ReadAll(resp.Body)
- // }
|