美文网首页
XDL_NO.18 12306 火车票查询接口 API 使用

XDL_NO.18 12306 火车票查询接口 API 使用

作者: Junting | 来源:发表于2016-08-31 09:57 被阅读556次

    12306 火车票查询接口 API 使用


    准备工作

    拼装请求url地址,始发地和目的地 是城市站的代码
    这个链接 需要在访问的时候带些参数过去才行

      https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=(日期)&leftTicketDTO.from_station=(始发地)&leftTicketDTO.to_station=(目的地)&purpose_codes=ADULT
    

    这个是可以直接访问取到数据的

     https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-09-01&from_station=SHH&to_station=BJP
    

    12306 城市站点 数据文件件

    城市数据文件 城市数据文件

    前台输入始发地和目的地,然后再数据文件中找出站台相对应的代码,拼装到url中,就OK了!

    Node.js 中封装成一个插件

    // 使用 各种接口
    // 引入 http 模块
    var https = require('https');
    // 简单的HTTP请求的客户端 发送请求
    var request = require('request');
    // 对时间进行格式化
    var moment = require('moment');
    // 转换字符编码的纯JavaScript。
    var iconv = reuire('iconv-lite');
    
    // 火车票查询,导出该实例
    exports.railway = function(req,res){
      // 将请求的 body 部分赋值给obj变量,body中包含了前台传递过来的数据
      var obj = req.body;
      // 请求接口的 参数
      var url = '/otn/leftTicket/query?leftTicketDTO.train_date='+req.body.date+'&leftTicketDTO.from_station='+req.body.start+'&leftTicketDTO.to_station='+req.body.end+'&purpose_codes=ADULT';
    
      // 调用请求接口时,相关配置参数
      //生成GET请求的参数
      var options = {
          hostname: 'kyfw.12306.cn',
          port: 443,
          path: url,
          method: 'GET',
          rejectUnauthorized: false        // 重点 必须把证书验证屏蔽掉
      };
    
      // 放送请求,调用接口,返回我们所需的数据
      var request = https.request(options,function(response){
        // 设置返回数据编码
        response.setEncoding('utf8');
    
        var str = '';
        // 返回数据 拼接
        response.on('data',function(chunk){
          str += chunk;
        });
        // 完成拼装 返回响应数据 进行格式化成json对象
        response.on('end',function(){
          res.json(JSON.parse(str));
        });
    
        // 错误信息 打印在终端
        request.on('error',function(err){
          console.log('错误信息',err.emssage);
        });
    
        // 请求操作 完成后 需要关闭请求资源
        requset.end();
    
      });
    };

    相关文章

      网友评论

          本文标题:XDL_NO.18 12306 火车票查询接口 API 使用

          本文链接:https://www.haomeiwen.com/subject/zcuqettx.html