main.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package main
  2. import (
  3. "crypto/md5"
  4. "encoding/hex"
  5. "encoding/json"
  6. "fmt"
  7. "io/ioutil"
  8. "log"
  9. "net/http"
  10. "strings"
  11. "time"
  12. )
  13. var (
  14. // appid = "jyNjdXQgUDAwdaTklMPz5i"
  15. // key = "404M0v2j"
  16. // apiurl = "http://127.0.0.1:8801"
  17. appid = "jyOh1XQgUJBQ5bTUlKCyZ1"
  18. key = "56IrWR74"
  19. apiurl = "https://testapi.jianyu360.com"
  20. )
  21. func main() {
  22. getData()
  23. }
  24. func getToken() (token string) {
  25. tm := fmt.Sprintf("%d", time.Now().Unix())
  26. res := post(apiurl+"/user/access_token", map[string]string{
  27. "appid": appid,
  28. "timestamp": tm,
  29. //"key": "6PzV0CUa",
  30. "signature": MD5(appid + tm + key),
  31. })
  32. log.Println(tm, MD5(appid+tm+key), res)
  33. if res != nil && res["access_token"] != "" {
  34. token, _ = res["access_token"].(string)
  35. }
  36. return
  37. }
  38. func getData() {
  39. token := getToken()
  40. data := post(apiurl+"/data/getalldata", map[string]string{
  41. "access_token": token,
  42. //"day": "-3",
  43. "next": "0",
  44. })
  45. //s, _ := json.Marshal(data["data"])
  46. log.Println(data)
  47. }
  48. func MD5(str string) string {
  49. h := md5.New()
  50. h.Write([]byte(str))
  51. return strings.ToUpper(hex.EncodeToString(h.Sum(nil)))
  52. }
  53. func post(url string, form map[string]string) (data map[string]interface{}) {
  54. str := ""
  55. for k, v := range form {
  56. str += "&" + k + "=" + v
  57. }
  58. log.Println(str)
  59. res, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(str))
  60. if err != nil {
  61. log.Println("post err:", err.Error())
  62. } else if res.Body != nil {
  63. defer res.Body.Close()
  64. bs, _ := ioutil.ReadAll(res.Body)
  65. json.Unmarshal(bs, &data)
  66. }
  67. return
  68. }