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. 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 wegen Verkehrsverstößen zu vermeiden.
Einführung
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. 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 wegen Verkehrsverstößen zu vermeiden.
API-Referenzdokument: https://www.juhe.cn/docs/api/id/36
Beispiel für einen API-Aufrufcode für die Abfrage nationaler Fahrzeugverstöße basierend auf PHP
Dieses Codebeispiel ist ein Aufruf der National Vehicle Violation Inquiry API basierend auf aggregierten Daten. Vor der Verwendung benötigen Sie:
Beantragen Sie einen Appkey für die Abfrage von Verstößen über http://www.juhe.cn/docs/api/id/36
1. Führen Sie die gekapselte Anforderungsklasse class.juhe.wz.phpheader('Content-type:text/html;charset=utf-8') ein
include 'class.juhe.wz.php'; //Einführungsdatei
2. Konfigurationsparameter //Grundlegende Informationskonfiguration der Schnittstelle <code class="prettyprint linenums lang-php">header('Content-type:text/html;charset=utf-8'); <br>
include 'class.juhe.wz.php'; //引入文件
$appkey = '**********'; //Der von Ihnen beantragte Verstoß-Abfrageschlüssel //接口基本信息配置 <br>
$appkey = '**********'; //您申请的违章查询key <br>
$wz = new wz($appkey);
$wz = new wz($appkey); 3. Fragen Sie die Liste der unterstützten Städte nach Verstößen ab
Da die unterstützten Städte von Zeit zu Zeit, jedoch nicht zu häufig, aktualisiert werden, können Sie diese Daten zwischenspeichern, beispielsweise alle 3 Stunden aktualisieren, ohne jedes Mal die Schnittstelle anzufordern. $wzcitys = $wz->getCitys(); //Alle unterstützten Städte abfragen <code class="prettyprint linenums lang-php">$wzcitys = $wz->getCitys(); //查询所有的支持城市 <br>
$wzcitys = $wz->getCitys('GD'); //查询指定省份下的城市
$wzcitys = $wz->getCitys('GD'); //Abfrage der Städte in der angegebenen ProvinzDas zurückgegebene Datenformat ist wie folgt: (Es ist sehr wichtig und beinhaltet einige Bedingungen, die für die Abfrage von Verstößen erforderlich sind Der nächste Schritt, insbesondere die Bedeutung der Felder, kann im offiziellen Schnittstellendokument nachgelesen werden, wobei regist und registno ignoriert werden können und nur in älteren Versionen benötigt werden) { <code class="prettyprint linenums lang-php">{ <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>
}
„Ergebniscode“: „200“,
„reason“: „Erfolgreiche Rückgabe“,
„Ergebnis“: [
„Provinz“: „Peking“,
„province_code“: „BJ“,
„Städte“: [
„city_name“: „Peking“,
„city_code“: „BJ“,
„abbr“: „京“,
„engine“: „1“,
„engineno“: „0“,
„Klasse“: „0“,
„Klasse“: „0“,
„classno“: „0“,
„registrieren“: „0“,
„Registrierungsnummer“: „0“
],
„error_code“: 0
} 4. Informationen zu Fahrzeugverstößen abfragenGrundsätzlich unterstützen Städte nur Kleinwagenabfragen, sodass auf hpzl verzichtet werden kann. //根据需要的查询条件,查询车辆的违章信息 <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>
}
5. Vollständiger Code von class.juhe.wz.php <!--?php <br />
//------------------------------------------------ --------- <br />
// |. JuhePHP [NO ZUO NO DIE] <br />
//------------------------------------------------ --------- <br />
// |. Copyright (c) 2010-2015 http://juhe.cn Alle Rechte vorbehalten
//------------------------------------------------ --------- <br />
// |. Autor: Juhedata <info@juhe.cn-->
//------------------------------------------------ --------- <br>
<br>
//---------------------------------- <br>
// Aggregationsdaten nationale Verletzungsschnittstellenaufrufklasse <br>
//---------------------------------- <br>
Klasse wz{ <br>
Private $appkey = false; //Antrag auf nationale Verstoßabfrage APPKEY <br>
<br>
Privat $cityUrl = 'http://v.juhe.cn/wz/citys';
<br>
private $wzUrl = 'http://v.juhe.cn/wz/query';
<br>
Öffentliche Funktion __construct($appkey){ <br>
$this->appkey = $appkey;
} <br>
<br>
/**<br>
* Holen Sie sich die Liste der Städte mit Unterstützung für Verstöße <br>
* @return-Array <br>
*/ <br>
Öffentliche Funktion getCitys($province=false){ <br>
$params = 'key='.$this->appkey."&format=2" <br>
$content = $this->juhecurl($this->cityUrl,$params);
return $this->_returnArray($content);
} <br>
<br>
/** <br>
* Fahrzeugverstöße abfragen <br>
* @param string $city [Stadtcode] <br>
* @param string $carno [Kennzeichen] <br>
* @param string $engineno [Motornummer] <br> * @param string $classno [车架号] <br>
* @return array 返回违章信息 <br>
*/ <br>
öffentliche Funktionsabfrage($city,$carno,$engineno='',$classno=''){ <br>
$params = array( <br>
'key' => $this->appkey, <br>
'Stadt' => $city, <br>
'hphm' => $carno, <br>
'engineno'=> $engineno, <br>
'classno' => $classno <br>
); <br>
$content = $this->juhecurl($this->wzUrl,$params,1); <br>
return $this->_returnArray($content); <br>
} <br>
<br>
/**<br>
* Konvertieren Sie JSON-Inhalte in Daten und geben Sie <br> zurück
* @param string $content [content] <br>
* @return-Array <br>
*/ <br>
öffentliche Funktion _returnArray($content){ <br>
return json_decode($content,true); <br>
} <br>
<br>
/**<br>
* Schnittstellenrückgabeinhalt anfordern <br>
* @param string $url [Angeforderte URL-Adresse] <br>
* @param string $params [angeforderte Parameter] <br>
* @param int $ipost [Ob das POST-Formular verwendet werden soll] <br>
* @return string <br>
*/ <br>
öffentliche Funktion 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>
sonst <br>
{ <br>
if($params){ <br>
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ); <br> }else{ <br>
curl_setopt( $ch , CURLOPT_URL , $url); <br>
} <br>
} <br>
$response = curl_exec( $ch ); <br>
if ($response === FALSE) { <br>
//echo "cURL Fehler: " . curl_error($ch); <br>
return false; <br>
} <br>
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE ); <br>
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) ); <br>
curl_close( $ch ); <br>
return $response; <br>
} <br>
}