$value){
// $newArray['key'] = $key;
// echo "{$key}==>{$value}
";
$tmpArray= array();
foreach($value as $k => $v){
//echo "{$k}==>{$v}
";
if($k == "name"){
$tmpArray['name'] = $v;
}
if($k == "hardware"){
$tmpArray['hardware'] = $v;
}
if($k == "deviceID"){
$tmpArray['deviceID'] = $v;
}
if($k == "serialNumber"){
$tmpArray['serialNumber'] = $v;
}
}
array_push($newArray,$tmpArray);
unset($tmpArray);
}
}
$cookie = "userId={$miai_session['userId']};serviceToken={$miai_session['serviceToken']}";
setcookie('Cookie',$cookie);
$arr = json_encode($newArray,JSON_UNESCAPED_UNICODE);
echo $arr;
}
}
function push_firmware($get_arr){
if(!is_array($get_arr)){
echo "参数错误";
return ;
}
$tmp_cookie ='';
if(isset($_COOKIE['Cookie'])){
$tmp_cookie = "{$_COOKIE['Cookie']};deviceId={$get_arr['deviceId']};sn={$get_arr['sn']}";
setcookie('Cookie',$tmp_cookie);
}
if(empty($tmp_cookie)){
echo "请重新登录";
return ;
}
print_r("start push");
$request_id = base64_encode(uniqid());
$request_id=str_replace('=','',$request_id);
$data = array( "url" => "{$get_arr['link']}","deviceId" => "{$get_arr['deviceId']}",
"checksum" =>"{$get_arr['hash']}","version" => "{$get_arr['version']}","extra" =>"{$get_arr['extra']}",
"hardware" =>"{$get_arr['hardware']}" ,"requestId" => "{$request_id}"
);
print_r($data);
//$data_string = json_encode($data);
//print_r($data_string);
$url = "https://api.mina.mi.com/remote/ota/v2";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
//print_r(array("Cookie:{$tmp_cookie}","Content-Type: application/x-www-form-urlencoded"));
curl_setopt($ch, CURLOPT_HTTPHEADER,array("Cookie:{$tmp_cookie}","Content-Type: application/x-www-form-urlencoded"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if (is_array($data))
{
$data = http_build_query($data, null, '&');
}
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$output = curl_exec($ch);
$outhead=curl_getinfo($ch,CURLINFO_HEADER_OUT);
echo $outhead;
echo $output;
}
$action =$_GET['action'];
switch($action) {
case 'login':
speech($_GET["username"], $_GET["password"], 'Hellod World');
break;
case 'push':
print_r($_GET);
push_firmware($_GET);
break;
}
?>