Maison >développement back-end >Problème PHP >Comment identifier les billets de train en php

Comment identifier les billets de train en php

藏色散人
藏色散人original
2022-10-25 16:11:451058parcourir

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.

Comment identifier les billets de train en php

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn