package com.snail.travellingTrail.common.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashMap; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; import android.util.Log; import com.google.gson.Gson; /* * HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); * */ public class HttpUtil { private static HttpGet getHttpGet(String uri){ HttpGet request = new HttpGet(uri); return request; } private HttpPost getHttpPost(String uri){ HttpPost request = new HttpPost(uri); return request; } private HttpResponse getHttpResponse(HttpGet request) throws Exception{ HttpClient client = new DefaultHttpClient(); HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 6*1000); HttpConnectionParams.setSoTimeout(params, 6*1000); HttpResponse response = client.execute(request); Log.i("MAIN", response.getStatusLine().getStatusCode()+"FAN"); return response; } private HttpResponse getHttpResponse(HttpPost request) throws Exception{ HttpClient client = new DefaultHttpClient(); // HttpParams params = client.getParams(); // HttpConnectionParams.setConnectionTimeout(params, 6*1000); // HttpConnectionParams.setSoTimeout(params, 6*1000); HttpResponse response = client.execute(request); return response; } //post��ʽ��ȡ�ַ� public String queryStringForPost(String uri){ HttpPost request = getHttpPost(uri); String result = null; try { HttpResponse response = getHttpResponse(request); if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); return result; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); result = "error"; return result; } return result; } //get��ʽ��ȡ�ַ� public String queryStringForGet(String uri){ HttpGet request = getHttpGet(uri); String result = null; try { HttpResponse response = getHttpResponse(request); if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); return result; } } catch (Exception e) { e.printStackTrace(); result = "error"; return result; } return result; } //post��ʽ�ύ��� public String queryStringForPost(String uri,HashMap<String, Object> params){ String result = null; HttpPost request = getHttpPost(uri); request.addHeader("Content-Type", "application/json"); Gson gson = new Gson(); String jsonString = gson.toJson(params); try { StringEntity jsonEntity =new StringEntity(jsonString,"UTF-8"); Log.i("jsonString", jsonString); request.setEntity(jsonEntity); HttpResponse response = getHttpResponse(request); if(response.getStatusLine().getStatusCode()==200){ result = EntityUtils.toString(response.getEntity()); Log.i("response", "200"); return "200"; }else{ Log.i("getStatusCode", response.getStatusLine().getStatusCode()+""); result = "error"; } } catch (Exception e) { // TODO: handle exception //e.printStackTrace(); Log.v("queryStringForPost", "error"+e.toString()); result = "error"; return result; } return result; } //��get��ʽ��ȡ�ַ������룬�ø÷��� public String getStringByGet(String url){ HttpGet request = getHttpGet(url); HttpResponse response; InputStream is=null; try { response = getHttpResponse(request); StringBuffer sb = new StringBuffer(); HttpEntity entity = response.getEntity(); is = entity.getContent(); //�Ƕ�ȡҪ�ı����Դ��Դ�ĸ�ʽ��GB2312�ģ���Դ��ʽ��������Ȼ���ٶ�Դ��ת������Ҫ�ı������ BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String data = ""; while((data=br.readLine())!=null){ sb.append(data); } return sb.toString(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); String result = "error"; return result; }finally{ if(is!=null){ try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }