$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; } ?>