1、基于 JAVA的火车票价信息接口调用代码实例代码描述:基于 JAVA的火车票价信息接口调用代码实例代码平台:聚合数据import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URL
2、Encoder;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;/*火 车时 刻表调 用示例代码 聚合数据*在 线接口文档:http:/ class JuheDemo public static final String DEF_CHATSET = “UTF-8“;public static final int DEF_CONN_TIMEOUT = 30000;public static final int DEF_READ_TIMEOUT = 30000;public static Str
3、ing userAgent = “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36“;/配置您申请的 KEYpublic static final String APPKEY =“*“;/1.列次查询public static void getRequest1()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“train“,“);/
4、车次号,如:D3010params.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Excep
5、tion e) e.printStackTrace();/2.站到站检索public static void getRequest2()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“from“,“);/出发站名称,如:北京params.put(“to“,“);/到达站名称,如:上海params.put(“key“,APPKEY);/应用 APPKEY(应用详细页查询)try result =net(url, params, “GET“);JSONObject object = JS
6、ONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();public static void main(String args) /* param strUrl 请求地址* param params 请求参数* param m
7、ethod 请求方法* return 网络请求字符串* throws Exception*/public static String net(String strUrl, Map params,String method) throws Exception HttpURLConnection conn = null;BufferedReader reader = null;String rs = null;try StringBuffer sb = new StringBuffer();if(method=null | method.equals(“GET“)strUrl = strUrl+“
8、?“+urlencode(params);URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method=null | method.equals(“GET“)conn.setRequestMethod(“GET“);elseconn.setRequestMethod(“POST“);conn.setDoOutput(true);conn.setRequestProperty(“User-agent“, userAgent);conn.setUseCaches(false);conn.set
9、ConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if (params!= null out.writeBytes(urlencode(params); catch (Exception e) / TODO: handle exceptionInputStream is = conn.getInputStream();reader = new BufferedReader(new InputStr
10、eamReader(is, DEF_CHATSET);String strRead = null;while (strRead = reader.readLine() != null) sb.append(strRead);rs = sb.toString(); catch (IOException e) e.printStackTrace(); finally if (reader != null) reader.close();if (conn != null) conn.disconnect();return rs;/将 map 型转为请求参数型public static String urlencode(Mapdata) StringBuilder sb = new StringBuilder();for (Map.Entryi : data.entrySet() try sb.append(i.getKey().append(“=“).append(URLEncoder.encode(i.getValue()+“,“UTF-8“).append(“ catch (UnsupportedEncodingException e) e.printStackTrace();return sb.toString();