首頁  >  文章  >  php教程  >  PHP全國車輛違規查詢API呼叫程式碼範例

PHP全國車輛違規查詢API呼叫程式碼範例

WBOY
WBOY原創
2016-10-22 00:00:301637瀏覽

聚合資料全國車輛違規資料接口,目前已經支援300個左右的城市違規查詢,已連接上萬個APP。方便有車一族隨時了解自己是否曾有交通違規,避免因遺忘或逾期處理違規罰單而造成不必要的損失。
簡介

聚合資料全國車輛違規資料接口,目前已經支援300個左右的城市違規查詢,已連接上萬個APP。方便有車一族隨時了解自己是否曾有交通違規,避免因遺忘或逾期處理違規罰單而造成不必要的損失。

API參考文件:https://www.juhe.cn/docs/api/id/36

基於PHP的全國車輛違規查詢API呼叫程式碼範例

本程式碼範例是基於聚合資料全國車輛違規查詢API的調用,使用前你需要:
透過 http://www.juhe.cn/docs/api/id/36 申請一個違規查詢的appkey

一、引入封裝好的請求類別class.juhe.wz.phpheader('Content-type:text/html;charset=utf-8');  <br> include 'class.juhe.wz.php'; //引入檔案  二、設定參數//介面基本資訊配置  <br> $appkey = '**********'; //您申請的違規查詢key  <br> $wz = new wz($appkey);  三 、查詢違規支援的城市清單
由於支援的城市會不定期更新,但不會太頻繁,大家可以將這些資料緩存,例如每3小時來更新一次,不用每次都請求介面。 $wzcitys = $wz->getCitys(); //查詢所有的支援城市  <br> $wzcitys = $wz->getCitys('GD'); //查詢指定省份下的城市 返回的資料格式如下:(很重要,涉及到下一步查詢違規所需的一些條件,具體的字段意思可以參考官方的介面文檔,其中regist和registno 可以忽略,是舊版本才需要的){  <br>     "resultcode": "200",  <br>     "reason": "成功的回歸",  <br>     "result": [  <br>         {  <br>             "province": "北京",  <br>             "province_code": "BJ",  <br>             "citys": [  <br>                 {  <br>                     "city_name": "北京",  <br>                     "city_code": "BJ",  <br>                     "abbr": "京",  <br>                     "engine": "1",  <br>                     "engineno": "0",  <br>                     "classa": "0",  <br>                     "class": "0",  <br>                     "classno": "0",  <br>                     "regist": "0",  <br>                     "registno": "0"  <br>                 }  <br>             ]  <br>         }  <br>     ],  <br>     "error_code": 0  <br> }  四、查詢車輛的違規資料
基本上城市只支援小型車查詢,所以hpzl可以省去。 //依需求的查詢條件,查詢車輛的違規資料  <br> $city = 'GD_DG'; //城市代碼,必傳  <br> $carno = '粵S*****'; //車牌號碼,必傳  <br> $engineno = '****'; //引擎號,所需的城市必傳  <br> $classno = '*****'; //車架號,需要的城市必傳  <br> $wzResult = $wz->query($city,$carno,$engineno,$classno);  <br> if($wzResult['error_code'] ==0){  <br>     if($wzResult['result']['lists']){  <br>         foreach($wzResult['result']['lists'] as $key =>$w){  <br>             //以下是依照實際業務需求修改了  <br> echo $w['area']." ".$w['date']." ".$w['act']." ".$w['fen']." ".$w['money ']."<br>";  <br>         }  <br>     }else{  <br>         echo "此車輛無違規記錄";  <br>     }  <br> }else{  <br>     //查詢不成功  <br>     echo $wzResult['error_code'].":".$wzResult['reason'];  <br> }  五、class.juhe.wz.php完整程式碼<!--?php  <br /> // +----------------------------------------------- -----------------------  <br /> // | JuhePHP [ NO ZUO NO DIE ]  <br /> // +----------------------------------------------- -----------------------  <br /> // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.  <br /> // +----------------------------------------------- -----------------------  <br /> // | Author: Juhedata <info@juhe.cn-->  <br> // +----------------------------------------------- -----------------------  <br>    <br> //----------------------------------  <br> // 聚合資料全國違規介面呼叫類別  <br> //----------------------------------  <br> class wz{  <br>     private $appkey = false; //申請的全國違規詢問APPKEY  <br>    <br>     private $cityUrl = 'http://v.juhe.cn/wz/citys';  <br>    <br>     private $wzUrl = 'http://v.juhe.cn/wz/query';  <br>    <br>     public function __construct($appkey){  <br>         $this->appkey = $appkey;  <br>     }  <br>    <br>     /** <br>      * 取得違規支援的城市清單 <br>      * @return array <br>      */  <br>     public function getCitys($province=false){  <br>         $params = 'key='.$this->appkey."&format=2";  <br>         $content = $this->juhecurl($this->cityUrl,$params);  <br>         return $this->_returnArray($content);  <br>     }  <br>    <br>     /** <br>      * 查詢車輛違規 <br>      * @param  string $city     [都市代碼] <br>      * @param  string $carno    [車牌號碼] <br>      * @param  string $engineno [引擎號碼] <br>     * @param  string $classno  [車架號] <br>      * @return  數組 返回違規訊息<br>      */  <br>     公用函數查詢($city,$carno,$engineno='',$classno=''){  <br>         $params = 數組(  <br>             '鍵' => $this->appkey,  <br>             '城市' => $城市,<br>             'hphm'=> $卡諾,  <br>             '引擎號碼'=> $engineno,<br>             '班級號碼'   => $classno <br>         );  <br>         $content = $this->juhecurl($this->wzUrl,$params,1);  <br>         返回 $this->_returnArray($content);  <br>     }  <br>    <br>     /** <br>      * 將JSON內容轉換為數據,並回傳 <br>      * @param string $content [內容] <br>      * @return array <br>      */  <br>     公用函數_returnArray($content){  <br>         回 json_decode($content,true);  <br>     }  <br>    <br>     /** <br>      * 請求介面回傳內容 <br>      * @param  string $url [請求的網址] <br>      * @param  string $params [請求的參數] <br>      * @param  int $ipost [是否以POST形式] <br>      * @return  string <br>      */  <br>     公用函數 juhecurl($url,$params=false,$ispost=0){  <br>         $httpInfo = array();  <br>         $ch=curl_init();  <br>    <br>         curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);  <br>         curl_setopt($ch, CURLOPT_USERAGENT, 'JuheData');  <br>         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);  <br>         curl_setopt($ch, CURLOPT_TIMEOUT, 60);  <br>         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  <br>         if($ispost)  <br>         {  <br>             curl_setopt($ch,CURLOPT_POST,true);  <br>             curl_setopt($ch,CURLOPT_POSTFIELDS,$params);  <br>             curl_setopt($ch,CURLOPT_URL,$url);  <br>         }  <br>         否則<br>         {  <br>             if($params){  <br>                 curl_setopt($ch,CURLOPT_URL,$url.'?'.$params);  <br>            }其他{  <br>                 curl_setopt($ch,CURLOPT_URL,$url);  <br>             }  <br>         }  <br>         $response=curl_exec($ch);  <br>         if ($response === FALSE) {  <br>             //echo「cURL 錯誤:」。 捲曲錯誤($ch);  <br>             則返回 false;  <br>         }  <br>         $httpCode=curl_getinfo($ch,CURLINFO_HTTP_CODE);  <br>         $httpInfo=array_merge($httpInfo,curl_getinfo($ch));  <br>         curl_close($ch);  <br>         返回$回應;  <br>     }  <br> }  

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn