基于PHP全国车辆违章查询API调用代码示例

本代码示例是基于聚合数据全国车辆违章查询API的调用,使用前你需要:
①:通过 https://www.juhe.cn/docs/api/id/36 申请一个违章查询的appkey

一、引入封装好的请求类class.juhe.wz.php

header('Content-type:text/html;charset=utf-8');
include 'class.juhe.wz.php'; //引入文件

二、配置参数

//接口基本信息配置
$appkey = '**********'; //您申请的违章查询key
$wz = new wz($appkey);

三 、查询违章支持的城市列表
由于支持的城市会不定期更新,但不会太频繁,大家可以将这些数据缓存,比如每3小时来更新一次,不用每次都请求接口。

$wzcitys = $wz->getCitys(); //查询所有的支持城市
$wzcitys = $wz->getCitys('GD'); //查询指定省份下的城市

返回的数据格式如下:(很重要,涉及到下一步查询违章所需的一些条件,具体的字段意思可以参考官方的接口文档,其中regist和registno 可以忽略,是旧版本才需要的)

{
    "resultcode": "200",
    "reason": "成功的返回",
    "result": [
        {
            "province": "北京",
            "province_code": "BJ",
            "citys": [
                {
                    "city_name": "北京",
                    "city_code": "BJ",
                    "abbr": "京",
                    "engine": "1",
                    "engineno": "0",
                    "classa": "0",
                    "class": "0",
                    "classno": "0",
                    "regist": "0",
                    "registno": "0"
                }
            ]
        }
    ],
    "error_code": 0
}

四、查询车辆的违章信息
基本上城市只支持小型车查询,所以hpzl可以省去。

//根据需要的查询条件,查询车辆的违章信息
$city = 'GD_DG'; //城市代码,必传
$carno = '粤S*****'; //车牌号,必传
$engineno = '****'; //发动机号,需要的城市必传
$classno = '*****'; //车架号,需要的城市必传
$wzResult = $wz->query($city,$carno,$engineno,$classno);
if($wzResult['error_code'] ==0){
    if($wzResult['result']['lists']){
        foreach($wzResult['result']['lists'] as $key =>$w){
            //以下就是根据实际业务需求修改了
            echo $w['area']." ".$w['date']." ".$w['act']." ".$w['fen']." ".$w['money']."<br>";
        }
    }else{
        echo "该车无违章记录";
    }
}else{
    //查询不成功
    echo $wzResult['error_code'].":".$wzResult['reason'];
}

五、class.juhe.wz.php完整代码

<!--?php

// +----------------------------------------------------------------------

// | JuhePHP [ NO ZUO NO DIE ]

// +----------------------------------------------------------------------

// | Copyright (c) 2010-2015 [http://juhe.cn All rights reserved.](http://juhe.cn%20all%20rights%20reserved./)

// +----------------------------------------------------------------------

// | Author: Juhedata <info@juhe.cn-->

// +----------------------------------------------------------------------

 
//----------------------------------

// 聚合数据全国违章接口调用类

//----------------------------------

class
 wz{

    
private
 $appkey
 = false; 
//申请的全国违章查询APPKEY

 
    
private
 $cityUrl
 = 
'[http://v.juhe.cn/wz/citys](http://v.juhe.cn/wz/citys)'
;

 
    
private
 $wzUrl
 = 
'[http://v.juhe.cn/wz/query](http://v.juhe.cn/wz/query)'
;

 
    
public
 function
 __construct(
$appkey
){

        
$this
->appkey = 
$appkey
;

    
}

 
    
/**

     
* 获取违章支持的城市列表

     
* @return array

     
*/

    
public
 function
 getCitys(
$province
=false){

        
$params
 = 
'key='
.
$this
->appkey.
"&format=2"
;

        
$content
 = 
$this
->juhecurl(
$this
->cityUrl,
$params
);

        
return
 $this
->_returnArray(
$content
);

    
}

 
    
/**

     
* 查询车辆违章

     
* @param  string $city     [城市代码]

     
* @param  string $carno    [车牌号]

     
* @param  string $engineno [发动机号]

     
* @param  string $classno  [车架号]

     
* @return  array 返回违章信息

     
*/

    
public
 function
 query(
$city
,
$carno
,
$engineno
=
''
,
$classno
=
''
){

        
$params
 = 
array
(

            
'key'
 => 
$this
->appkey,

            
'city'
  => 
$city
,

            
'hphm'
 => 
$carno
,

            
'engineno'
=> 
$engineno
,

            
'classno'
   => 
$classno

        
);

        
$content
 = 
$this
->juhecurl(
$this
->wzUrl,
$params
,1);

        
return
 $this
->_returnArray(
$content
);

    
}

 
    
/**

     
* 将JSON内容转为数据,并返回

     
* @param string $content [内容]

     
* @return array

     
*/

    
public
 function
 _returnArray(
$content
){

        
return
 json_decode(
$content
,true);

    
}

 
    
/**

     
* 请求接口返回内容

     
* @param  string $url [请求的URL地址]

     
* @param  string $params [请求的参数]

     
* @param  int $ipost [是否采用POST形式]

     
* @return  string

     
*/

    
public
 function
 juhecurl(
$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_USERAGENT , 
'JuheData'
 );

        
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) {

            
//echo "cURL Error: " . curl_error($ch);

            
return
 false;

        
}

        
$httpCode
 = curl_getinfo( 
$ch
 , CURLINFO_HTTP_CODE );

        
$httpInfo
 = 
array_merge
( 
$httpInfo
 , curl_getinfo( 
$ch
 ) );

        
curl_close( 
$ch
 );

        
return
 $response
;

    
}

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容