Cara mengenal pasti tiket kereta api dalam PHP: 1. Buka antara muka API pengenalan tiket kereta api 2. Buat fail contoh PHP 3. Tetapkan "header('Content-type:text/html;charset=utf -8 ');"; 4. Konfigurasikan kunci aplikasi yang digunakan; 5. Gunakan kunci aplikasi; 6. Minta URL; 7. Dapatkan data antara muka dan analisis serta proseskannya.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Bagaimana untuk mengenal pasti tiket kereta api dalam php?
1 Buka antara muka API pengenalan tiket kereta api:
Daftar dan aktifkan melalui https://www.juhe.cn/docs/api/id/522?s=cpphpcn
Penerangan antara muka:
Antara muka ini menyokong pengenalpastian semua medan tiket kereta api, termasuk nombor, tambang, nama, nombor tempat duduk, masa berlepas, stesen berlepas, stesen ketibaan, nombor kereta api, jenis tempat duduk, dsb.
Format pulangan: json
Kaedah permintaan: pos
Contoh permintaan: http:/ / /v.juhe.cn/trainTicketOcr/index.php
2. Contoh kod panggilan antara muka tiket kereta api berasaskan PHP
Contoh kod php adalah seperti berikut:
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; }
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk mengenal pasti tiket kereta api dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!