Maison >développement back-end >Problème PHP >Comment identifier les billets de train en php
Comment identifier les billets de train en PHP : 1. Ouvrez l'interface API d'identification des billets de train ; 2. Créez un exemple de fichier PHP ; 3. Définissez "header('Content-type: text/html; charset=utf-8') ;" ; 4. Configurez la clé d'application appliquée ; 5. Appliquez la clé d'application ; 6. Demandez l'URL ; 7. Obtenez les données d'interface, analysez-les et traitez-les.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Comment identifier les billets de train en php ?
1. Ouvrez l'interface API d'identification des billets de train :
Inscrivez-vous et activez via https://www.juhe.cn/docs/api/id/522?s=cpphpcn
Description de l'interface :
Cette interface prend en charge l'identification de tous les champs des billets de train, y compris le numéro, le tarif, le nom et le numéro de siège. , heure de départ, gare de départ, gare d'arrivée, numéro de train, numéro de siège, etc.
Format de retour : json
Méthode de demande : post
Exemple de demande : http://v.juhe.cn/trainTicketOcr/index.php
2. Exemple de code d'appel d'interface de requête
L'exemple de code php est le suivant :
1.[代码][PHP]代码 // +------------------- header('Content-type:text/html;charset=utf-8'); //配置您申请的appkey $appkey = "*********************"; //************1.站到站查询(含票价)************ $url = "http://apis.juhe.cn/train/s2swithprice"; $params = array( "start" => "",//出发站 "end" => "",//终点站 "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************2.12306订票②:车次票价查询************ $url = "http://apis.juhe.cn/train/ticket.price.php"; $params = array( "train_no" => "",//列次编号,对应12306订票①:查询车次中返回的train_no "from_station_no" => "",//出发站序号,对应12306订票①:查询车次中返回的from_station_no "to_station_no" => "",//出发站序号,对应12306订票①:查询车次中返回的to_station_no "date" => "",//默认当天,格式:2014-12-25 "key" => $appkey,//应用APPKEY(应用详细页查询) ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************3.车次查询************ $url = "http://apis.juhe.cn/train/s"; $params = array( "name" => "",//车次名称,如:G4 "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************4.站到站查询************ $url = "http://apis.juhe.cn/train/s2s"; $params = array( "start" => "",//出发站 "end" => "",//终点站 "traintype" => "",//列车类型,G-高速动车 K-快速 T-空调特快 D-动车组 Z-直达特快 Q-其他 "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************5.12306实时余票查询************ $url = "http://apis.juhe.cn/train/yp"; $params = array( "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json "from" => "",//出发站,如:上海虹桥 "to" => "",// 到达站,如:温州南 "date" => "",//出发日期,默认今日 "tt" => "",//车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他) ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************6.12306订票①:查询车次************ $url = "http://apis.juhe.cn/train/ticket.cc.php"; $params = array( "from" => "",//出发站名称:如上海虹桥 "to" => "",//到达站名称:如温州南 "date" => "",//默认当天,格式:2014-07-11 "tt" => "",//车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他) "key" => $appkey,//应用APPKEY(应用详细页查询) ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************7.火车票代售点查询************ $url = "http://apis.juhe.cn/train/dsd"; $params = array( "province" => "",//省份,如:浙江 "city" => "",//城市,如:温州 "county" => "",//区/县,如:鹿城区 "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************8.列车站点列表************ $url = "http://apis.juhe.cn/train/station.list.php"; $params = array( "key" => $appkey,//应用APPKEY(应用详细页查询) "dtype" => "",//返回数据的格式,xml或json,默认json ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ 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 ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 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; }
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!