12306餘票查詢獲取接口數據(非登陸狀態)

package com.clean.project.controller;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 非登陸狀態下,查詢火車票餘額接口數據
 * @author [email protected]
 */
public class TrainTicketEnquiry {

 public static void interfaceUtil(String path, String cookie) {
 PrintWriter out = null;
 try {
 URL url = new URL(path);
 // 打開和url之間的連接
 HttpURLConnection conn = (HttpURLConnection) url.openConnection();
 // 設置URLConnection的參數和普通的請求屬性
 conn.setRequestProperty("Cookie", cookie);
 conn.setDoOutput(true);
 conn.setDoInput(true);
 conn.setRequestMethod("GET");
 conn.connect();
 // 獲取URLConnection對象對應的輸入流
 InputStream is = conn.getInputStream();
 // 構造一個字符流緩存
 BufferedReader br = new BufferedReader(new InputStreamReader(is));
 String str = "";
 System.out.println("---------------------");
 while ((str = br.readLine()) != null) {
 str=new String(str.getBytes(),"UTF-8");
 System.out.println(str);
 }
 is.close();
 conn.disconnect()
 System.out.println("---------------------");
 } catch (Exception e) {
 e.printStackTrace();
 }
 }

 /**
 * 非登陸狀態下 查詢12306餘票接口數據
 * TODO Cookie 需要自行獲取 F12 Network 找到 query開頭點開找到 cookie 即可
 * @param args
 */
 public static void main(String[] args) {
 String train_date = "2019-12-12";
 String from_station = "BJP"; // 始發站
 String to_station = "JLL"; // 終點站
 String purpose_codes = "ADULT"; // 成人票

 String url = "https://kyfw.12306.cn/otn/leftTicket/query?" +
 "leftTicketDTO.train_date="+train_date+
 "&leftTicketDTO.from_station="+from_station+
 "&leftTicketDTO.to_station="+to_station+
 "&purpose_codes="+purpose_codes;
 // 自行獲取 Cookie
 String cookie = "JSESSIONID=DCC4E7711E0A9FFA0EEEE02A184BB98E; _jc_save_fromStation=%u5317%u4EAC%2CBJP; _jc_save_wfdc_flag=dc; _jc_save_toStation=%u5409%u6797%2CJLL; RAIL_DEVICEID=GZdJ1GUxjvAjte0iO3yqMNp75r0kPSbl1NdgMUBqDLq5g4xnoZIMRScbtj_wlun2wAwFoqhdHWh2YmOsnkVl3MQOPmPdB1ut_4ML0h1tTET4U8XDAxtpstWG9qH6KyhtetlToDzEihx7HxOE4aJ39hQ9pGvyBr2B; RAIL_EXPIRATION=1576280695964; BIGipServerotn=334496266.38945.0000; BIGipServerpool_passport=384631306.50215.0000; route=495c805987d0f5c8c84b14f60212447d; _jc_save_fromDate=2019-12-12; _jc_save_toDate=2019-12-12";
 interfaceUtil(url, cookie);
 }
}


分享到:


相關文章: