<?php //https协议是否需要验证证书 define('SSL_VERIFYPEER', false); $url = 'https://v.1dq.com/api/c43'; $param=array( 'key' => '您申请的key,在会员中心->我的数据->对应数据的下方', 'bankcard' => '123456789', 'apiversion' => '2.0.5', ); //发送远程请求; $result = APISLA($url, $param, true); //认证通过,姓名和号码一致; if ($result['error_code'] == 0) { echo $result['reason']; } //认证不通过,姓名和号码不一致; else { echo $result['reason']; } //打印返回数据 print_r($result); /** * APISLA 获取数据 * @param $url 接口地址 * @param null $param 要发送的数据 * @param bool $ispost 是否采用POST发送,默认GET * @return mixed */ function APISLA($url, $param = null, $ispost = false) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $ispost ? $url : $url . '?' . http_build_query($param)); //如果是https协议 if (stripos($url, "https://") !== FALSE) { /** * 如果需要验证证书 */ if (SSL_VERIFYPEER) { //验证交换证书 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); //检查SSL证书公用名是否存在,并且是否与提供的主机名匹配 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); //设置实现协议为TLS1.0版本 curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); //根证书文件路径,相对路径和绝对路径均可, //推荐使用绝对路径;为了安全证书文件最好不要和应用代码放在一起; //用户请保持更新 使用https接口需要设置该证书文件为可信任根证书, //以最大限度满足安全性(使用信任任何证书的方式并不安全)。 curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); } /** * 如果不需要验证证书 */ else { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); //CURL_SSLVERSION_TLSv1 curl_setopt($curl, CURLOPT_SSLVERSION, 1); } } //USERAGENT curl_setopt($curl, CURLOPT_USERAGENT, 'APIStore'); //超时时间 curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 120); curl_setopt($curl, CURLOPT_TIMEOUT, 120); //通过POST方式提交 if ($ispost) { curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param)); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //返回内容 $callbcak = curl_exec($curl); //关闭,释放资源 curl_close($curl); //返回内容JSON_DECODE return json_decode($callbcak, true); }