欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

基于php的苏州实时公交/地铁接口调用代码实例

程序员文章站 2024-01-18 15:18:28
...
php代码
// +----------------------------------------------------------------------
 
//----------------------------------
// 苏州实时公交/地铁调用示例代码 - 聚合数据
// 在线接口文档:http://www.juhe.cn/docs/31
//----------------------------------
 
header('Content-type:text/html;charset=utf-8');
 
 
//配置您申请的appkey
$appkey = "*********************";
 
 
 
 
//************1.站台(编码)查询************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
      "station" => "",//需要查询的站台,如:纳米
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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.根据站台查询公交状态************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
      "stationCode" => "",//站台的编码,在查询站台时有返回
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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/szbusline/bus";
$params = array(
      "bus" => "",//线路名称或关键字,如11
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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/szbusline/bus";
$params = array(
      "busline" => "",//需要查询的线路编码,在查询线路时有返回
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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.公交(路线)详情************
$url = "http://apis.juhe.cn/szbusline/info";
$params = array(
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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.地铁始发站时刻************
$url = "http://apis.juhe.cn/szbusline/subwaytime";
$params = array(
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
);
$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/szbusline/subwayline";
$params = array(
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
      "line_id" => "",//地铁线路编号
      "lng" => "",//经度
      "lat" => "",//纬度 
      "order" => "",//线路方向(参考值: 1-正方向,2-反方向,默认为1)
);
$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/szbusline/subwaystation";
$params = array(
      "dtype" => "",//返回数据格式:json或xml,默认json
      "key" => $appkey,//你申请的key
      "line_id" => "",//地铁线路编号
      "station_id" => "",//地铁站台编号
      "order" => "",//线路方向(参考值: 1-上行,2-下行,默认为1)
);
$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;
}