多读多写多记录,多学多练多思考。----------- Banana.Banuit Gang(香柚帮)
/**
* 获取融云token
* 方法名:getToken
* @param userId:司机 Id, userName:司机车牌号, portraitUri: 头像空值
* @return {"code":200, "userId":"jlk456j5", "token":"sfd9823ihufi"}
*/
function getToken( $userId, $userName, $portraitUri = '') {
// 请求url
$url = 'https://api.cn.rong.io/user/getToken.json';
$postData = 'userId='.$userId.'&name='.$userName.'&portraitUri='.$portraitUri;
// post提交-推送
$row = json_decode($this->request_post_push($url, $postData),true);
if($row['code'] == '200' ){ // 返回码200 为正常
return $row['token'];
}else{
return '';
}
}
/**
* curl-提交推送
* @param url:请求地址, postData:请求参数
*/
function request_post_push($url = "", $postData = "") {
// 参数为空返回状态
if (empty($url) || empty($postData)) {
return false;
}
//参数初始化
$appKey = 'xxxxxxxx';
$appSecret = 'xxxxxxxxx';
$nonce = mt_rand(); // 获取随机数。
$timeStamp = time();// 获取时间戳。
$signature = sha1($appSecret.$nonce.$timeStamp);
$httpHeader = array(
'App-Key:'.$appKey, // 平台分配
'Nonce:'.$nonce, // 随机数
'Timestamp:'.$timeStamp, // 时间戳
'Signature:'.$signature, // 签名
'Content-Type: application/x-www-form-urlencoded',
);
// 初始化curl
$ch = curl_init();
// 设置你需要抓取的URL
curl_setopt($ch, CURLOPT_URL, $url);
// post提交方式
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 设置header
curl_setopt($ch, CURLOPT_HEADER, false);
// 增加 HTTP Header(头)里的字段
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// 终止从服务端进行验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
// 运行curl
$data = curl_exec($ch);
// 关闭URL请求
curl_close($ch);
return $data ;
}