|
|
发表于
2020-11-21 18:59:25
来自手机
|
显示全部楼层
| 阅读模式
来自 广西
这个是源码。自己复制成一个php文件后,就可以使用了。写的不是很好。能用就行。毕竟。我没学过PHP呀。只是能看懂而已。嘿嘿- <?php
- /**
- * 名称:小米运动接口
- * 出处:https://www.yowal.cn/
- * 方式:POST
- * 参数:iphone,password,steps
- * 时间:2020年11月05日
- */
- error_reporting(0);
- date_default_timezone_set('PRC');
- //define('IN_CRONLITE', true);
- header('Access-Control-Allow-Origin: *');
- header('Content-type: application/json');
- function curl_get($url,$referer = 0) {
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- if ($referer) {
- curl_setopt($ch, CURLOPT_REFERER, $referer);
- }
- 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');
- curl_setopt($ch, CURLOPT_TIMEOUT, 30);
- $content = curl_exec($ch);
- curl_close($ch);
- return($content);
- }
- function curl_get_loction($url,$post_data){
- $curl = curl_init();
- $headers = array(
- 'Connection:keep-alive',
- 'Upgrade-Insecure-Requests:1',
- 'User-Agent:MiFit/4.6.0 (iPhone; iOS 14.0.1; Scale/2.00)',
- 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
- 'Accept-Encoding:gzip, deflate, br',
- 'Accept-Language:zh-CN,zh;q=0.9'
- );
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HEADER, true);
- //设置获取的信息以文件流的形式返回,而不是直接输出。
- curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
- //#关闭SSL
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
- //#返回数据不直接显示
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $response = curl_exec($curl);
- curl_close($curl);
- return $response;
- }
- function curl_post($url, $post_data,$app_token = 0) {
- $ch = curl_init();//初始化curl
- curl_setopt($ch, CURLOPT_URL,$url);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- 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');
- if ($app_token) {
- $httpheader[] = "apptoken:".$app_token;
- curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
- }
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- $data = curl_exec($ch);//运行curl
- curl_close($ch);
- return $data;
- }
- $user = isset($_GET['phone']) ? $_GET['phone'] : $_POST['phone'];
- $password = isset($_GET['password']) ? $_GET['password'] : $_POST['password'];
- $steps = isset($_GET['steps']) ? $_GET['steps'] : $_POST['steps'];
- $url = "https://api-user.huami.com/registrations/+86".$user."/tokens";
- $data = "client_id=HuaMi&password=".$password."&redirect_uri=https://s3-us-west-2.amazonaws.com/hm-registration/successsignin.html&token=access";
- $hearder = curl_get_loction($url, $data);
- preg_match_all("/access=(.*?)(?=&)/", $hearder, $datarr);
- $code = $datarr[1][0];
- $url2 = "https://account.huami.com/v2/client/login";
- $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";
- $ret = curl_post($url2, $data2);
- $json = json_decode($ret, true);
- $login_token = $json["token_info"]["login_token"];
- $userid = $json["token_info"]["user_id"];
- $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";
- $ret = curl_get($url3);
- $json = json_decode($ret, true);
- $app_token = $json['token_info']['app_token'];
- $t = time();
- $format = date("Y-m-d",time());
- $str = file_get_contents("data_json.txt").$format.""}]";
- $str = str_replace("12345", $steps, $str);
- $data_json = str_replace("321123", "DA932FFFFE8816E7", $str);
- $url4 = "https://api-mifit-cn.huami.com/v1/data/band_data.json?&t=".time();
- $data3 = "data_json=".$data_json."&userid=".$userid."&device_type=0&last_sync_data_time=1589917081&last_deviceid=DA932FFFFE8816E7";
- $ret = curl_post($url4, $data3, $app_token);
- die($ret);
- ?>
复制代码 |
|