github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/game/circle/handle.go (about) 1 package circle 2 3 import ( 4 "common" 5 "crypto/md5" 6 "fmt" 7 "io" 8 "io/ioutil" 9 "net/http" 10 "net/url" 11 "strconv" 12 "time" 13 14 "github.com/name5566/leaf/log" 15 ) 16 17 var ( 18 partnerKey = "youxibi_game_chezhu_ddz" 19 secretKey = "F957BC19502E301F8FDB8BF192116AFD" 20 ) 21 22 func DoRequest(gatewayUrl, method, params string) []byte { 23 p := url.Values{} 24 p.Add("device", "SERVER") 25 p.Add("deviceId", "CZDDZ") 26 p.Add("lang", "CN") 27 p.Add("method", method) 28 p.Add("params", params) 29 p.Add("partnerKey", partnerKey) 30 p.Add("secretKey", secretKey) 31 p.Add("sendTime", strconv.Itoa(int(time.Now().Unix()))) 32 p.Add("signType", "NORMAL") 33 p.Add("versionCode", "1") 34 p.Add("versionName", "1.0") 35 p.Add("sign", generateSign(p)) 36 37 http.DefaultClient.Timeout = 1 * time.Minute 38 r, err := http.PostForm(gatewayUrl, p) 39 if err != nil { 40 log.Error("%v", err) 41 return []byte{} 42 } 43 defer r.Body.Close() 44 result, _ := ioutil.ReadAll(r.Body) 45 return result 46 } 47 48 func generateSign(params url.Values) string { 49 return sign(common.GetSignContent(params)) 50 } 51 52 func sign(data string) string { 53 m := md5.New() 54 io.WriteString(m, data) 55 // return hex.EncodeToString(m.Sum(nil)) 56 return fmt.Sprintf("%X", m.Sum(nil)) 57 }