火車票查詢接口
安裝遠(yuǎn)程請(qǐng)求模塊模塊
npm install https
npm install request-
準(zhǔn)備請(qǐng)求數(shù)據(jù)
// 請(qǐng)求接口的參數(shù) 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請(qǐng)求的參數(shù) var options = { // 請(qǐng)求的網(wǎng)址 hostname: 'kyfw.12306.cn', // 端口 port: 443, // 參數(shù) path: url, // 方法 method: 'GET', //是否驗(yàn)證 必須把證書(shū)驗(yàn)證屏蔽掉 rejectUnauthorized: false }; -
進(jìn)行遠(yuǎn)程請(qǐng)求
var request = https.request(options , function(response){ response.setEncoding("utf8"); //設(shè)置字符集 var str = ''; //拼接數(shù)據(jù)流字符串 response.on('data',function(chunk){ str += chunk; //接收數(shù)據(jù) }); // 完成拼裝 返回響應(yīng)數(shù)據(jù) 進(jìn)行格式化成json對(duì)象 response.on('end',function(chunk){ res.json(JSON.parse(str)); }); }); // 錯(cuò)誤信息 打印在終端,返回到前臺(tái) request.on('error',function(e){ console.log('錯(cuò)誤信息:' + e.message); res.json({err:e.message}); }); // 關(guān)閉請(qǐng)求資源 request.end();