Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP-Abfragedaten zu Fahrzeugverstößen

Detaillierte Erläuterung der PHP-Abfragedaten zu Fahrzeugverstößen

墨辰丷
墨辰丷Original
2018-05-31 17:35:401896Durchsuche

Die nationale Datenschnittstelle zu Fahrzeugverstößen, die Daten aggregiert, unterstützt derzeit Ermittlungen zu Verstößen in etwa 300 Städten und ist mit Zehntausenden von APPs verbunden. In diesem Artikel wird ein Beispiel für PHP-Abfragedaten zu Fahrzeugverstößen vorgestellt. Freunde in Not können einen Blick darauf werfen.

Für Autobesitzer ist es praktisch, jederzeit zu wissen, ob es zu Verkehrsverstößen gekommen ist, und unnötige Verluste durch vergessene oder überfällige Strafzettel für Verkehrsverstöße zu vermeiden. Dieses Codebeispiel basiert auf dem Aufruf der nationalen Fahrzeugverstoß-Abfrage-API basierend auf aggregierten Daten. Sie können es bei Bedarf unten lesen.

Vor der Verwendung benötigen Sie:

Beantragen Sie einen Appkey für die Abfrage von Verstößen über: https://www.juhe.cn/docs/api/id/36

1. Stellen Sie die gekapselte Anforderungsklasse class.juhe.wz.php vor

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

2. Konfigurationsparameter

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

3. Fragen Sie die Liste der unterstützten Städte nach illegalen Verstößen ab. Da die unterstützten Städte von Zeit zu Zeit, jedoch nicht zu häufig, aktualisiert werden kann diese Daten zwischenspeichern, wenn sie beispielsweise alle 3 Stunden aktualisiert werden, ist es nicht erforderlich, die Schnittstelle jedes Mal anzufordern.

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

Das zurückgegebene Datenformat ist wie folgt: (sehr wichtig, es beinhaltet einige Bedingungen, die für die Abfrage von Verstößen im nächsten Schritt erforderlich sind. Für spezifische Feldbedeutungen bitte siehe offizielles Schnittstellendokument, von dem regist und registno ignoriert werden können, sie werden nur für alte Versionen benötigt)

{
  "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
}

4. Fahrzeug abfragen Informationen zu Verstößen werden grundsätzlich nur bei der Abfrage von Kleinwagen in Städten unterstützt, daher kann hpzl weggelassen werden.

//根据需要的查询条件,查询车辆的违章信息
$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[&#39;area&#39;]." ".$w[&#39;date&#39;]." ".$w[&#39;act&#39;]." ".$w[&#39;fen&#39;]." ".$w[&#39;money&#39;]."<br>";
    }
  }else{
    echo "该车无违章记录";
  }
}else{
  //查询不成功
  echo $wzResult[&#39;error_code&#39;].":".$wzResult[&#39;reason&#39;];
}

5. Vollständiger Code von 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 = &#39;http://v.juhe.cn/wz/citys&#39;;
 
  private $wzUrl = &#39;http://v.juhe.cn/wz/query&#39;;
 
  public function __construct($appkey){
    $this->appkey = $appkey;
  }
 
  /**
   * 获取违章支持的城市列表
   * @return array
   */
  public function getCitys($province=false){
    $params = &#39;key=&#39;.$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=&#39;&#39;,$classno=&#39;&#39;){
    $params = array(
      &#39;key&#39; => $this->appkey,
      &#39;city&#39; => $city,
      &#39;hphm&#39; => $carno,
      &#39;engineno&#39;=> $engineno,
      &#39;classno&#39;  => $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 , &#39;JuheData&#39; );
    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.&#39;?&#39;.$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;
  }
}

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Synchronisierte Fans der PHP-WeChat-Entwicklung

Gemeinsame Methoden für PHP, um Dateierweiterungen zu erhalten

Relevante Wissenspunkte zur Implementierung der Benutzeranmeldung in PHP (1)

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Abfragedaten zu Fahrzeugverstößen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn