记录一个php的post一个api的过程,php的json对象转数组,php数组转json格式
public function get_udi_token()
{
$request = Request::instance();
$ip = $request->ip();
$appId = "xxx";
$appSecret = "xxxx";
$TYSHXYDM = "xxxx";
$url = "https://xxxx/token/get";
$data = array(
"appId" => $appId,
"appSecret" => $appSecret,
"TYSHXYDM" => $TYSHXYDM,
);
$params = json_encode($data);
$newdata = array("params" => $params);
$header = array('Content-Type: multipart/form-data'); //Header参数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_POST, true); //post方式
curl_setopt($curl, CURLOPT_URL, $url); //接口地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate
curl_setopt($curl, CURLOPT_POSTFIELDS, $newdata); // Post提交的数据包x
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //是否有返回值
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //头部参数
$tmpInfo = curl_exec($curl); // 执行操作
curl_close($curl); // 关闭CURL会话
$infoarr=json_decode($tmpInfo,true);// 转为数组
if ($infoarr['returnCode'] === 1) {
DB::name('log_udi')->insert([
'ip' => $ip,
'token' =>'x'
]);
}//返回成功1,则插入数据
}