Home  >  Article  >  Backend Development  >  How to identify train tickets in php

How to identify train tickets in php

藏色散人
藏色散人Original
2022-10-25 16:11:451007browse

How to identify train tickets in php: 1. Open the train ticket identification API interface; 2. Create a PHP sample file; 3. Set "header('Content-type:text/html;charset=utf-8 ');"; 4. Configure the applied appkey; 5. Apply the appkey; 6. Request the URL; 7. Obtain the interface data and analyze and process it.

How to identify train tickets in php

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

How to identify train tickets in php?

1. Open the train ticket identification API interface:

viahttps://www.juhe.cn/docs/api/id/522?s=cpphpcnRegistration and activation

Interface description:

  • This interface supports the identification of all fields of train tickets, including number, fare, name, seat number, departure time, Departure station, arrival station, train number, seat number, etc.

  • Return format: json

  • Request method: post

  • Request example: http:/ /v.juhe.cn/trainTicketOcr/index.php

2. PHP-based 12306 train ticket query interface calling code example

php code example is as follows:

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;

}

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to identify train tickets in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn