12下一页
返回列表 发新帖

分享个小米刷步数的接口源码

[复制链接]

3

主题

493

回帖

1918

积分

高中生

Rank: 4

金币
378
好评
0
信誉
101

考神

QQ
发表于 2020-11-21 18:59:25 来自手机  | 显示全部楼层 | 阅读模式  来自 广西
这个是源码。自己复制成一个php文件后,就可以使用了。写的不是很好。能用就行。毕竟。我没学过PHP呀。只是能看懂而已。嘿嘿
  1. <?php
  2. /**
  3. * 名称:小米运动接口
  4. * 出处:https://www.yowal.cn/
  5. * 方式:POST
  6. * 参数:iphone,password,steps
  7. * 时间:2020年11月05日
  8. */
  9. error_reporting(0);
  10. date_default_timezone_set('PRC');
  11. //define('IN_CRONLITE', true);
  12. header('Access-Control-Allow-Origin: *');
  13. header('Content-type: application/json');


  14. function curl_get($url,$referer = 0) {
  15.         $ch = curl_init($url);
  16.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  17.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  18.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  19.         if ($referer) {
  20.                 curl_setopt($ch, CURLOPT_REFERER, $referer);
  21.         }
  22.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');
  23.         curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  24.         $content = curl_exec($ch);
  25.         curl_close($ch);
  26.         return($content);
  27. }

  28. function curl_get_loction($url,$post_data){
  29.         $curl = curl_init();
  30.         $headers = array(
  31.                 'Connection:keep-alive',
  32.                 'Upgrade-Insecure-Requests:1',
  33.                 'User-Agent:MiFit/4.6.0 (iPhone; iOS 14.0.1; Scale/2.00)',
  34.                 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  35.                 'Accept-Encoding:gzip, deflate, br',
  36.                 'Accept-Language:zh-CN,zh;q=0.9'
  37.         );
  38.         curl_setopt($curl, CURLOPT_URL, $url);
  39.         curl_setopt($curl, CURLOPT_HEADER, true);
  40.         //设置获取的信息以文件流的形式返回,而不是直接输出。
  41.         curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
  42.         curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
  43.         curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
  44.         //#关闭SSL
  45.         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  46.         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  47.         //#返回数据不直接显示
  48.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  49.         $response = curl_exec($curl);
  50.         curl_close($curl);
  51.         return $response;
  52. }

  53. function curl_post($url, $post_data,$app_token = 0) {
  54.         $ch = curl_init();//初始化curl
  55.         curl_setopt($ch, CURLOPT_URL,$url);
  56.         curl_setopt($ch, CURLOPT_HEADER, 0);
  57.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  58.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36');
  59.         if ($app_token) {
  60.                 $httpheader[] = "apptoken:".$app_token;
  61.                 curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
  62.         }
  63.         curl_setopt($ch, CURLOPT_POST, 1);
  64.         curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  65.         $data = curl_exec($ch);//运行curl
  66.         curl_close($ch);
  67.         return $data;
  68. }

  69. $user = isset($_GET['phone']) ? $_GET['phone'] : $_POST['phone'];
  70. $password = isset($_GET['password']) ? $_GET['password'] : $_POST['password'];
  71. $steps = isset($_GET['steps']) ? $_GET['steps'] : $_POST['steps'];

  72. $url = "https://api-user.huami.com/registrations/+86".$user."/tokens";
  73. $data = "client_id=HuaMi&password=".$password."&redirect_uri=https://s3-us-west-2.amazonaws.com/hm-registration/successsignin.html&token=access";
  74. $hearder = curl_get_loction($url, $data);
  75. preg_match_all("/access=(.*?)(?=&)/", $hearder, $datarr);
  76. $code = $datarr[1][0];
  77. $url2 = "https://account.huami.com/v2/client/login";
  78. $data2 = "app_name=com.xiaomi.hm.health&app_version=4.6.0&code=".$code."&country_code=CN&device_id=2C8B4939-0CCD-4E94-8CBA-CB8EA6E613A1&device_model=phone&grant_type=access_token&third_name=huami_phone";
  79. $ret = curl_post($url2, $data2);
  80. $json = json_decode($ret, true);
  81. $login_token = $json["token_info"]["login_token"];
  82. $userid = $json["token_info"]["user_id"];
  83. $url3 = "https://account-cn.huami.com/v1/client/app_tokens?app_name=com.xiaomi.hm.health&dn=api-user.huami.com%2Capi-mifit.huami.com%2Capp-analytics.huami.com&login_token=".$login_token."&os_version=4.1.0";
  84. $ret = curl_get($url3);
  85. $json = json_decode($ret, true);
  86. $app_token = $json['token_info']['app_token'];
  87. $t = time();
  88. $format = date("Y-m-d",time());
  89. $str = file_get_contents("data_json.txt").$format.""}]";
  90. $str = str_replace("12345", $steps, $str);
  91. $data_json = str_replace("321123", "DA932FFFFE8816E7", $str);
  92. $url4 = "https://api-mifit-cn.huami.com/v1/data/band_data.json?&t=".time();
  93. $data3 = "data_json=".$data_json."&userid=".$userid."&device_type=0&last_sync_data_time=1589917081&last_deviceid=DA932FFFFE8816E7";
  94. $ret = curl_post($url4, $data3, $app_token);
  95. die($ret);
  96. ?>
复制代码
回复

使用道具 举报

3

主题

58

回帖

256

积分

初中生

Rank: 3Rank: 3

金币
73
好评
0
信誉
100
发表于 2020-11-21 19:04:27 来自手机  | 显示全部楼层  来自 云南
可以啊,没学过你都能看懂
回复

使用道具 举报

3

主题

493

回帖

1918

积分

高中生

Rank: 4

金币
378
好评
0
信誉
101

考神

QQ
发表于 2020-11-21 19:04:58 来自手机  | 显示全部楼层  来自 广西
zhao0527 发表于 2020-11-21 19:04
可以啊,没学过你都能看懂

因为我学过Java
回复

使用道具 举报

3

主题

493

回帖

1918

积分

高中生

Rank: 4

金币
378
好评
0
信誉
101

考神

QQ
发表于 2020-11-21 19:06:44 来自手机  | 显示全部楼层  来自 广西
少发了一个文件,链接补上https://yowal.lanzoux.com/iCEegimgjqb
回复

使用道具 举报

69

主题

3233

回帖

9428

积分

硕士生

Rank: 6Rank: 6

金币
4169
好评
14
信誉
99
发表于 2020-11-21 19:19:56 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

8

主题

1645

回帖

5319

积分

硕士生

Rank: 6Rank: 6

金币
2681
好评
0
信誉
100
发表于 2020-11-22 00:38:46 来自手机  | 显示全部楼层  来自 广西
学过易语言,半途而废那种,看不懂
回复

使用道具 举报

189

主题

4334

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
12469
好评
31
信誉
100

考神MT论坛最佳新人MT论坛帅哥MT论坛灌水老大MT论坛新人挂机大佬

发表于 2020-11-24 23:06:40 来自手机  | 显示全部楼层  来自 陕西
学学Python,入门简单,库还多,比java轻量太多,就是性能不咋地
回复

使用道具 举报

28

主题

1504

回帖

4805

积分

大学生

神话

Rank: 5Rank: 5

金币
2077
好评
16
信誉
101
QQ
发表于 2020-11-25 23:04:01 来自手机  | 显示全部楼层  来自 四川
不知道什么问题,报错
http://lzys9.xyz/bushu.php
回复

使用道具 举报

3

主题

493

回帖

1918

积分

高中生

Rank: 4

金币
378
好评
0
信誉
101

考神

QQ
发表于 2020-11-27 00:03:23 来自手机  | 显示全部楼层  来自 广西
神话 发表于 2020-11-25 23:04
不知道什么问题,报错
http://lzys9.xyz/bushu.php

你要下载我蓝奏云发的文件。然后放在同目录下
回复

使用道具 举报

0

主题

545

回帖

5915

积分

硕士生

Rank: 6Rank: 6

金币
1935
好评
0
信誉
100

考神

发表于 2020-11-27 08:59:20 | 显示全部楼层  来自 本机地址
这个应该还要下载小米运动App吧,然后绑定wx或者zfb
回复

使用道具 举报

131

主题

1万

回帖

2万

积分

博士后

重生吧

Rank: 8Rank: 8

金币
7100
好评
3
信誉
100

MT论坛帅哥考神MT论坛新人

发表于 2020-11-27 09:48:28 来自手机  | 显示全部楼层  来自 江苏
感谢分享
回复

使用道具 举报

28

主题

1504

回帖

4805

积分

大学生

神话

Rank: 5Rank: 5

金币
2077
好评
16
信誉
101
QQ
发表于 2020-11-28 02:03:27 来自手机  | 显示全部楼层  来自 四川
King丶枫岚 发表于 2020-11-27 00:03
你要下载我蓝奏云发的文件。然后放在同目录下

放了啊┐(‘~`;)┌
回复

使用道具 举报

0

主题

24

回帖

83

积分

小学生

Rank: 2

金币
33
好评
0
信誉
100
发表于 2021-3-7 03:40:31 | 显示全部楼层  来自 广东
求个Python版本哈哈
回复

使用道具 举报

6

主题

581

回帖

1573

积分

高中生

氵神

Rank: 4

金币
440
好评
0
信誉
100

考神MT论坛新人MT论坛帅哥MT论坛最佳新人

发表于 2021-7-15 08:35:25 来自手机  | 显示全部楼层  来自 河北
看不懂
回复

使用道具 举报

53

主题

1189

回帖

3393

积分

大学生

Wei

Rank: 5Rank: 5

金币
1642
好评
13
信誉
97

考神MT论坛新人MT论坛活跃会员MT论坛帅哥MT论坛最佳新人

发表于 2021-7-16 15:47:31 来自手机  | 显示全部楼层  来自 江西
坑死了 95行最后面 } 前面多了一个双引号 "
导致报错
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表