http.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package pkg
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "io"
  6. "net/http"
  7. "time"
  8. )
  9. // Get GET请求
  10. // url: 请求地址
  11. // response: 请求返回的内容
  12. func Get(url string) (string, error) {
  13. client := &http.Client{}
  14. req, err := http.NewRequest("GET", url, nil)
  15. req.Header.Set("Accept", "*/*")
  16. req.Header.Set("Content-Type", "application/json")
  17. if err != nil {
  18. return "", err
  19. }
  20. resp, err := client.Do(req)
  21. if err != nil {
  22. return "", err
  23. }
  24. defer func(Body io.ReadCloser) {
  25. _ = Body.Close()
  26. }(resp.Body)
  27. result, err := io.ReadAll(resp.Body)
  28. if err != nil {
  29. return "", err
  30. }
  31. return string(result), nil
  32. }
  33. // Post 发送POST请求
  34. // url: 请求地址
  35. // data: POST请求提交的数据
  36. // contentType: 请求体格式,如:application/json
  37. // content: 请求放回的内容
  38. func Post(url string, data interface{}, contentType string) ([]byte, error) {
  39. // 超时时间:5秒
  40. client := &http.Client{Timeout: 5 * time.Second}
  41. jsonStr, _ := json.Marshal(data)
  42. resp, err := client.Post(url, contentType, bytes.NewBuffer(jsonStr))
  43. if err != nil {
  44. return nil, err
  45. }
  46. defer func(Body io.ReadCloser) {
  47. _ = Body.Close()
  48. }(resp.Body)
  49. result, err := io.ReadAll(resp.Body)
  50. if err != nil {
  51. return nil, err
  52. }
  53. return result, nil
  54. }