php識別火車票的方法:1、開通火車票識別API介面;2、建立一個PHP範例檔案;3、設定「header('Content-type:text/html;charset=utf-8');」;4、設定申請的appkey;5、應用appkey;6、請求URL;7、獲取介面資料並分析處理即可。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。
php怎麼識別火車票?
1、開通火車票識別API介面:
通過https://www.juhe.cn/docs/api/id/522?s=cpphpcn
註冊及開通
介面說明:
該介面支援火車票全欄位的識別,包括編號、票價、姓名、座位號、出發時間、出發站、到達站、車次、席別等。
返回格式:json
請求方式:post
請求範例:http://v.juhe.cn/trainTicketOcr/index.php
2、基於php的12306火車票查詢介面呼叫程式碼範例
php程式碼範例如下:
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;
}
登入後複製
推薦學習:《》
以上就是php怎麼識別火車票的詳細內容,更多請關注TW511.COM其它相關文章!