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 luenceq@163.com */ 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); } }