php車輛違章查詢資料樣本_php執行個體

來源:互聯網
上載者:User

方便有車一族隨時瞭解自己是否有過交通違章,避免因遺忘或逾期處理違章罰單而造成的不必要損失。本程式碼範例是基於彙總資料全國車輛違章查詢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.// +----------------------------------------------------------------------// | Author: Juhedata <info@juhe.cn-->// +---------------------------------------------------------------------- //----------------------------------// 彙總資料全國違章介面調用類//----------------------------------class wz{  private $appkey = false; //申請的全國違章查詢APPKEY   private $cityUrl = 'http://v.juhe.cn/wz/citys';   private $wzUrl = '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;  }}

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.