package com.hjx.miaohongentry.http; import com.hjx.miaohongentry.bean.AppVersion; import com.hjx.miaohongentry.builder.UpdateInfoBuilder; import org.json.JSONArray; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; /** * Created by l on 2017/7/1. */ public class MHGetApiImp implements MHGetApi { private String doGet(String query) throws Exception { String path = "http://boss.hjx.com"+ query; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5000); connection.setRequestMethod("GET"); //获得结果码 int responseCode = connection.getResponseCode(); if(responseCode ==200){ //请求成功 获得返回的流 InputStream is = connection.getInputStream(); return InputStream2String(is); }else { //请求失败 return null; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } public AppVersion getUpdateInfo(String pid, String appName) throws Exception { String jsonStr = doGet("/general/release/version?pid="+pid+"&appName="+appName); JSONArray jsonArray = new JSONArray(jsonStr); for (int i = 0; i < jsonArray.length(); i++){ JSONObject jsonObject = jsonArray.getJSONObject(i); UpdateInfoBuilder builder = new UpdateInfoBuilder(); return builder.build(jsonObject); } return null; } public static String InputStream2String(InputStream in) { InputStreamReader reader = null; try { reader = new InputStreamReader(in, "UTF-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } BufferedReader br = new BufferedReader(reader); StringBuilder sb = new StringBuilder(); String line = ""; try { while ((line = br.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } }