houses.go 727 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package houses
  2. import (
  3. "io/ioutil"
  4. "net/http"
  5. "net/url"
  6. "zhiyuan/pkg/app"
  7. "zhiyuan/pkg/utils"
  8. "zhiyuan/services/form"
  9. "github.com/gin-gonic/gin"
  10. )
  11. func HttpGet(c *gin.Context) {
  12. var form form.RequestGet
  13. if app.Bind(c, &form) != nil {
  14. return
  15. }
  16. baseUrl, err := url.Parse(form.Url)
  17. if err != nil {
  18. return
  19. }
  20. params := url.Values{}
  21. params.Add("ip", c.Request.Header.Get("X-Forward-For"))
  22. for param, value := range form.Params {
  23. params.Add(param, value)
  24. }
  25. baseUrl.RawQuery = params.Encode()
  26. resp, err := http.Get(baseUrl.String())
  27. if err != nil {
  28. return
  29. }
  30. defer resp.Body.Close()
  31. body, err := ioutil.ReadAll(resp.Body)
  32. if err != nil {
  33. return
  34. }
  35. app.Success(c, utils.JsonDecode(body).ToMap())
  36. }