12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package service
- import (
- "bytes"
- "encoding/json"
- "fmt"
- "io"
- "net/http"
- "net/url"
- "time"
- )
- func CurPost(requestUrl string, requestBody interface{}, headerMap map[string]string) (string, error) {
- //转换json
- jsonBytes, err := json.Marshal(requestBody)
- if err != nil {
- return "", err
- }
- //创建请求
- req, err := http.NewRequest("POST", requestUrl, bytes.NewReader(jsonBytes))
- if err != nil {
- return "", err
- }
- //设置请求头
- req.Header.Set("Content-Type", "application/json;charset=UTF-8")
- for k, v := range headerMap {
- //req.Header.Set("Accept-Encoding", "gzip, deflate, br")
- req.Header.Set(k, v)
- }
- //发送请求
- clt := http.Client{Timeout: 30 * time.Second}
- res, err := clt.Do(req)
- if err != nil {
- return "", err
- }
- //获取结果
- body, err := io.ReadAll(res.Body)
- data := string(body)
- return data, err
- }
- func CurlGet(url string, values url.Values, header http.Header) (string, error) {
- req, reqErr := http.NewRequest(http.MethodGet, url, nil)
- if reqErr != nil {
- return "", reqErr
- }
- if header != nil {
- req.Header = header
- }
- if values != nil {
- req.URL.RawQuery = values.Encode()
- }
- fmt.Println(req.URL.Host, req.URL.RawQuery)
- resp, resErr := http.DefaultClient.Do(req)
- if resErr != nil {
- return "", resErr
- }
- defer func() { _ = resp.Body.Close() }()
- content, readErr := io.ReadAll(resp.Body)
- if readErr != nil {
- return "", readErr
- }
- //if decodeErr := json.Unmarshal(content, result); decodeErr != nil {
- // return "", decodeErr
- //}
- return string(content), nil
- }
|