Java模擬httpGet請求並獲取返回的資料
阿新 • • 發佈:2019-01-03
1.程式碼例項如下:
2.測試例項:public class HttpgetUtils { public static String sendGETRequest(String path, Map params, String ecoding) throws Exception{ //拼接GET引數條件 StringBuilder url = new StringBuilder(path); url.append("?"); for(Map.Entry entry : params.entrySet()){ url.append(entry.getKey()).append("="); url.append(URLEncoder.encode(entry.getValue(), ecoding)); url.append("&"); } url.deleteCharAt(url.length() - 1); //發起請求 HttpURLConnection conn = (HttpURLConnection)new URL(url.toString()).openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); if(conn.getResponseCode() == 200){ //獲取請求返回來的結果-【這是返回Str的情況Json的基本同理,把返回來的json字串轉換成Json物件就行了】 StringBuffer buffer = new StringBuffer(); InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); // 釋放資源 inputStream.close(); inputStream = null; conn.disconnect(); return buffer.toString(); } return null; } }
3.結果:public class Test { /** * @param args */ public static void main(String[] args) { String path ="XXXXXX"; Map map = new HashMap() {{ put( "FileName" , "monitor" ); put( "wantedOne" , "2017-10-30 14:47" ); put( "wantedTwo" , "192.168.30.244" ); }}; String ecoding ="UTF-8"; try { String Str =HttpgetUtils.sendGETRequest(path,map,ecoding); System.out.println(Str); } catch (Exception e) { e.printStackTrace(); } } }