深圳网站建设公司的外文名是/竞价恶意点击器
THINKPHP6.02调用百度H5实名认证接口
1、首先你要有百度账号并通过实名认证
2、在人脸识别处新建应用,如下三张图所示:
你在你的账号能看到上面的三张图,证明你的前提工作已经准备好。下面是代码。
3、代码部份:
3.1先获取ACCESS_TOKEN,再获取VERIRY_TOKEN,然后才可以进入实人认证界面。注意:要把VERIRY_TOKEN记下来或自行存进数据库,因为一会查询验证结果时,要用的。
public function index(){//第一步:获取ACCESS_TOKEN $data = array("grant_type" => "client_credentials", "client_id" => "9VxDIKAY9lKc1fu1CeeIi***","client_secret"=>'NicAlBwS7e60WkgygR4uaZTo0258e***' );//client_id和client_secret自行在百度后台查找,grant_type是固定的$data_string = $data;$url = "https://aip.baidubce.com/oauth/2.0/token";$ch = curl_init ();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );$response = curl_exec($ch);if (curl_errno($ch)) {print curl_error($ch);}curl_close($ch); //将获取到的数据转成JSON$my_json = json_decode($response);//第二步:利用ACCESS_TOKEN获取verify_token$data_string = "{\"plan_id\":10928}";//注意这一步,必须是JSON格式,否则会提示方案不存在,当然,你必须提前在后台申请方案$url = "https://aip.baidubce.com/rpc/2.0/brain/solution/faceprint/verifyToken/generate?access_token=".$my_json->access_token;$ch = curl_init ();curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );curl_setopt ( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $response = curl_exec($ch);if (curl_errno($ch)) {print curl_error($ch);}curl_close($ch);//将获取到的数据转成JSON$my_json = json_decode($response); //第三步:将拼接的URL输出到页面$url="https://brain.baidu.com/face/print/?token=".$my_json->result->verify_token."&successUrl=http://XXXX.oicp.net:50559/public/index.php/index/success1"."&failedUrl=http://XXXX.oicp.net:50559/public/index.php/index/faild1";View::assign('url',$url); View::assign('verify_token',$my_json->result->verify_token); // 模板输出return View::fetch('index');}
3.2要有成功的页面和失败的页面。
//认证成功后跳转的页面
public function success1(){// 模板输出return View::fetch('success1');}//认证失败后跳转的页面public function faild1(){// 模板输出return View::fetch('faild1');}
3.3用刚才记住的VERIFY_TOKEN来查询认证结果。
//查询页面
public function query(){//获取传进来的verify_token$verify_token=input('get.verify_token');echo $verify_token."</br>";//第一步:获取ACCESS_TOKEN $data = array("grant_type" => "client_credentials", "client_id" => "9VxDIKAY9lKc1fu1CeeIi***","client_secret"=>'NicAlBwS7e60WkgygR4uaZTo0258e***');$data_string = $data;$url = "https://aip.baidubce.com/oauth/2.0/token";$ch = curl_init ();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );$response = curl_exec($ch);if (curl_errno($ch)) {print curl_error($ch);}curl_close($ch); //将获取到的数据转成JSON$my_json = json_decode($response);//第二步:利用ACCESS_TOKEN加上这个用户认证时使用的verify_token$data_string = "{\"verify_token\":\"".$verify_token."\"}";//注意这一步,必须是JSON格式$url = "https://aip.baidubce.com/rpc/2.0/brain/solution/faceprint/result/detail?access_token=".$my_json->access_token;$ch = curl_init ();curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );curl_setopt ( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $response = curl_exec($ch);if (curl_errno($ch)) {print curl_error($ch);}curl_close($ch);echo $response;//将结果从UNICODE转成中文$result = unicode2Chinese($response);echo $result;//将获取到的数据转成JSON//$my_json = json_decode($response); }
3.4辅助代码,UNICODE转中文。
function unicode2Chinese($str){return preg_replace_callback("#\\\u([0-9a-f]{4})#i",function ($r) {return iconv('UCS-2BE', 'UTF-8', pack('H4', $r[1]));},$str);}
4、效果如下图: