聚合資料全國車輛違規資料接口,目前已經支援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>
}