データを集約する全国的な車両違反データ インターフェイスは現在、約 300 都市での違反調査をサポートしており、数万の APP に接続されています。車の所有者にとって、自分が交通違反をしているかどうかをいつでも知ることができ、交通違反切符の取り忘れや期限切れによる不必要な損失を避けることができ、便利です。
はじめに
データを集約する全国的な車両違反データ インターフェイスは現在、約 300 都市での違反調査をサポートしており、数万の APP に接続されています。車の所有者にとって、自分が交通違反をしているかどうかをいつでも知ることができ、交通違反切符の取り忘れや期限切れによる不必要な損失を避けることができ、便利です。
APIリファレンスドキュメント: https://www.juhe.cn/docs/api/id/36
PHP に基づく全国車両違反照会 API 呼び出しコード例
このコード例は、集約されたデータに基づく National Vehicle Violation Investigation API の呼び出しです。使用する前に、次のことを行う必要があります。
http://www.juhe.cn/docs/api/id/36 から違反クエリ用の AppKey を申請します
1. カプセル化されたリクエスト クラス class.juhe.wz.phpheader('Content-type:text/html;charset=utf-8'); を導入します。
include 'class.juhe.wz.php'; //導入ファイル<br>2. 設定パラメータ
//インターフェースの基本情報の設定
$appkey = '************' //申請した違反クエリ キー <br>;
$wz = new wz($appkey); <br>3. 違反がサポートされている都市のリストをクエリします。
サポートされている都市は時々更新されますが、それほど頻繁ではないため、毎回インターフェースを要求することなく、このデータをキャッシュすることができます (たとえば、3 時間ごとに更新する)。
$wzcitys = $wz->getCitys() //サポートされているすべての都市をクエリします
$wzcitys = $wz->getCitys('GD'); //指定された州の都市をクエリします 返されるデータ形式は次のとおりです: (非常に重要ですが、次のステップで違反をクエリするために必要な条件が含まれます。および特定のフィールドの意味 公式インターフェイスのドキュメントを参照できます。そこでは register と registerno は無視でき、古いバージョンでのみ必要です)<br>{
"結果コード": "200"、
"reason": "正常に戻りました"、<br>
「結果」: [ <br>
「省」: 「北京」、<br>
"province_code": "BJ"、<br>
「都市」: [ <br>
"city_name": "北京"、<br>
"city_code": "BJ"、<br>
"abbr": "京"、<br>
"エンジン": "1"、<br>
"エンジンノ": "0"、<br>
"クラッサ": "0"、<br>
"クラス": "0"、<br>
"クラス番号": "0"、<br>
"登録": "0"、<br>
"登録番号": "0" <br>
} <br>
]、<br>
「エラーコード」: 0 <br>
<br>4. 車両違反情報のクエリ<br>基本的に、都市は小型車のクエリのみをサポートするため、hpzl は省略できます。 <code class="prettyprint linenums lang-php">//必要なクエリ条件に従って車両の違反情報をクエリします <br>
$city = 'GD_DG' //都市コードを渡す必要があります <br>;
$carno = 'Guangdong S*****' //ナンバープレート番号を渡す必要があります <br>
$engineno = '****' //エンジン番号、必要な都市を渡す必要があります <br>
$classno = '*****' //車両番号、必要な都市を渡す必要があります <br>
$wzResult = $wz->query($city,$carno,$engineno,$classno);
if($wzResult['error_code'] ==0){ <br>
If($wzResult['結果']['リスト']){ <br>
foreach($wzResult['result']['lists'] as $key =>$w){ <br>
// 以下は実際のビジネスニーズに応じて変更されます <br>
echo $w['area']." ".$w['date']." ".$w['act']." ".$w['fen']." ".$w['money" ']."<br><br>;
} <br>
}その他{ <br>
echo 「この車には違反歴がありません」 <br>
}<br>
}その他{ <br>
//クエリが失敗しました <br>
echo $wzResult['error_code'].":".$wzResult['reason'];
<br>5. class.juhe.wz.php の完全なコード <br><!--?php
// +---------------------------------------------- --- ----------------------------------
// | JuhePHP [NO ZUO NO DIE] <br />
// +---------------------------------------------- --- ---------------------------------- <br />
// | 著作権 (c) 2010-2015 http://juhe.cn 無断複写・転載を禁じます。
// +---------------------------------------------- --- ---------------------------------- <br />
// | 著者: Juhedata <info@juhe.cn-->
// +---------------------------------------------- --- ---------------------------------- <br>
<br>
//------------------------------------------------- <br>
//集約データ国家違反インターフェース呼び出しクラス <br>
//------------------------------------------------- <br>
クラスwz{ <br>
Private $appkey = false //適用された国内違反クエリ APPKEY <br>;
<br>
プライベート $cityUrl = 'http://v.juhe.cn/wz/citys'; <br>
<br>
;
<br>
パブリック関数 __construct($appkey){ <br>
$this->appkey = $appkey; <br>
}<br>
<br>
/**<br>
* 違反をサポートしている都市のリストを取得します <br>
* * @戻り配列 <br>
*/ <br>
パブリック関数 getCitys($province=false){ <br>
$params = 'key='.$this->appkey."&format=2";
$ コンテンツ = $ This-> juhecurl ($ this-& gt; cityurl, $ params);
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 array 返违章情報 <br>
*/ <br>
パブリック関数クエリ($city,$carno,$engineno='',$classno=''){ <br>
$params = array( <br>
'キー' => $this->アプリキー、 <br>
「都市」 => $city、 <br>
'hphm' => $カルノ、 <br>
'エンジンノ'=> $エンジンノ、 <br>
'クラス番号' => $クラスノ <br>
); <br>
$content = $this->juhecurl($this->wzUrl,$params,1); <br>
return $this->_returnArray($content); <br>
} <br>
<br>
/**<br>
* JSONコンテンツをデータに変換して返します <br>
* @param string $content [コンテンツ] <br>
* * @戻り配列 <br>
*/ <br>
public function_returnArray($content){ <br>
return json_decode($content,true); <br>
} <br>
<br>
/**<br>
* *リクエストインターフェイスのリターンコンテンツ <br>
* @param string $url [リクエストされた URL アドレス] <br>
* @param string $params [リクエストされたパラメータ] <br>
* @param int $ipost [POSTフォームを使用するかどうか] <br>
* * @戻り文字列 <br>
*/ <br>
public function 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>
//エコー「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>
$response を返します。 <br>
} <br>
}