{ "errno": 0, "msg": "success", "data": { "words_result_num": 10, "words_result": { "品牌型号": { "words": "保时捷GT37182RUCRE" }, "发证日期": { "words": "20160104" }, "使用性质": { "words": "非营运" }, "发动机号码": { "words": "20832" }, "号牌号码": { "words": "苏A001" }, "所有人": { "words": "圆圆" }, "住址": { "words": "南京市江宁区弘景大道" }, "注册日期": { "words": "20160104" }, "车辆识别代号": { "words": "HCE58" }, "车辆类型": { "words": "小型轿车" } } } }
<?php /** * Created by PhpStorm. * User: FZS * Time: 2019/3/13 17:10 */ //---------------------------------- // 百度驾驶证识别调用类 //---------------------------------- class freeApi{ private $apiKey = false; //百度应用AppID private $secretKey = false; //百度应用API Key private $tokenUrl = 'https://aip.baidubce.com/oauth/2.0/token'; private $apiUrl = 'https://aip.baidubce.com/rest/2.0/ocr/v1/driving_license'; public function __construct($apikey,$secretkey){ $this->apiKey = $apikey; $this->secretKey = $secretkey; } /** * 获取token * @return array */ public function getToken(){ $params = [ 'grant_type' => 'client_credentials', 'client_id' => $this->apiKey, 'client_secret' => $this->secretKey, ]; $params = $this->handleUrl($params); return $this->returnArray($this->freeApiCurl($this->tokenUrl,$params,1)); } /** * url拼接 * @return string */ private function handleUrl($params){ $o = ""; foreach ( $params as $k => $v ) { $o.= "$k=" . urlencode( $v ). "&" ; } $params = substr($o,0,-1); return $params; } /** * 将JSON内容转为数据,并返回 * @param string $content [内容] * @return array */ public function returnArray($content){ return json_decode($content,true); } /** * 获取驾驶证识别结果 * @return array */ public function getResult(){ $params = [ 'image' => base64_encode(file_get_contents('图片路径')), ]; return $this->returnArray($this->freeApiCurl($this->apiUrl.'?access_token='.$this->getToken()['access_token'],$params,1)); } /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ public function freeApiCurl($url,$params=false,$ispost=0){ $httpInfo = array(); $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 60); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); if( $ispost ) { curl_setopt( $ch , CURLOPT_POST , true ); curl_setopt( $ch , CURLOPT_POSTFIELDS , $params ); curl_setopt( $ch , CURLOPT_URL , $url ); } else { if($params){ curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ); }else{ curl_setopt( $ch , CURLOPT_URL , $url); } } $response = curl_exec( $ch ); if ($response === FALSE) { return false; } $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE ); $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) ); curl_close( $ch ); return $response; } }