/**
* HTTP工具类
* Created by lezg on 2014/7/22.
*/
public class HttpUtil {
private static final int TIME_OUT = 1000;
private static final int TIMEOUT_CONNECTION = 20000;
private static final int TIMEOUT_SOCKET = 20000;
private static String doGet(String url){
HttpGet httpGet = new HttpGet(url);
HttpClient httpClient = getHttpClient();
String result="";
try {
HttpResponse response = httpClient.execute(httpGet);
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
}
}catch (Exception e){
e.printStackTrace();
}finally {
httpClient.getConnectionManager().shutdown();
}
return result;
}
private static HttpClient getHttpClient() {
HttpParams httpParams = new BasicHttpParams();
// timeout: get connections from connection pool
ConnManagerParams.setTimeout(httpParams, TIME_OUT);
// timeout: connect to the server
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_CONNECTION);
// timeout: transfer data from server
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_SOCKET);
HttpProtocolParams.setVersion(httpParams, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(httpParams, HTTP.UTF_8);
String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2) Gecko/20100115 Firefox/3.6";
HttpProtocolParams.setUserAgent(httpParams, userAgent);
return new DefaultHttpClient(httpParams);
}
public static ArrayList<News> getNews(String url){
ArrayList<News> news = new ArrayList<News>();
try {
String result = doGet(url);
JSONObject value = new JSONObject(result).getJSONObject("value");
JSONArray items = value.getJSONArray("items");
for (int i = 0; i < items.length(); ++i) {
JSONObject item = items.getJSONObject(i);
News newData = new News();
newData.setTitle(item.optString("title"));
newData.setDescription(item.optString("description"));
newData.setPublishDate(item.optString("pubDate"));
news.add(newData);
}
} catch (JSONException e) {
e.printStackTrace();
}
return news;
}
}
Android HttpClient获取JSON数据并解析
最新推荐文章于 2021-05-27 17:30:42 发布