| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package public
- import (
- "io"
- "net/http"
- "net/url"
- "strings"
- "bet24.com/log"
- )
- // http post json 请求
- func HttpPostByJson(url string, data string) string {
- req, err := http.NewRequest("POST", url, strings.NewReader(data))
- if err != nil {
- log.Error("HttpPostByJson NewRequest error %v", err)
- return ""
- }
- req.Header.Add("Content-Type", "application/json")
- req.Header.Add("Cache-Control", "no-cache")
- resp, err := (&http.Client{}).Do(req)
- if err != nil {
- log.Error("HttpPostByJson Request Do error %v", err)
- return ""
- }
- defer resp.Body.Close()
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- log.Error("HttpPostByJson Response error %v", err)
- return ""
- }
- // log.Debug("HttpPost Send:%v", string(body))
- return string(body)
- }
- // http post xml 请求
- func HttpPostByXML(url string, data string) string {
- req, err := http.NewRequest("POST", url, strings.NewReader(data))
- if err != nil {
- log.Error("HttpPostByXML NewRequest error %v", err)
- return ""
- }
- req.Header.Set("Accept", "application/xml")
- //这里的http header的设置是必须设置的.
- req.Header.Set("Content-Type", "application/xml;charset=utf-8")
- resp, err := (&http.Client{}).Do(req)
- if err != nil {
- log.Error("HttpPostByXML Request Do error %v", err)
- return ""
- }
- defer resp.Body.Close()
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- log.Error("HttpPostByXML Response error %v", err)
- return ""
- }
- //log.Debug("HttpPost Send:%v", string(body))
- return string(body)
- }
- // http get请求
- func HttpGet(url string) string {
- //log.Debug("HttpGet url:%s", url)
- req, err := http.NewRequest("GET", url, nil)
- if err != nil {
- log.Error("HttpGet NewRequest Error %v", err)
- return ""
- }
- req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
- req.Header.Add("Cache-Control", "no-cache")
- resp, err := (&http.Client{}).Do(req)
- if err != nil {
- log.Error("HttpGet request error %v", err)
- return ""
- }
- defer resp.Body.Close()
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- log.Error("HttpGet response error %v", err)
- return ""
- }
- return string(body)
- }
- // http.PostForm 方法的post请求
- func HttpPostForm(url string, params url.Values) string {
- resp, err := http.PostForm(url, params)
- if err != nil {
- log.Error("HttpPostForm request error %v", err)
- return ""
- }
- defer resp.Body.Close()
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- log.Error("HttpPostForm response error %v", err)
- return ""
- }
- return string(body)
- }
|