<?php
//https协议是否需要验证证书
define('SSL_VERIFYPEER', false);
$url = 'https://v.1dq.com/api/v4/bankCard';
$param=array(
'key' => '您申请的key,在会员中心->我的数据->对应数据的下方',
'bankcard' => '123456789',
);
//发送远程请求;
$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);
}