android的 Http工具类
android的HttpClient实现简单的get和post请求
/** * Http工具类 */ public class HttpUtil { // 创建HttpClient对象 public static HttpClient httpClient = new DefaultHttpClient(); public static final String BASE_URL = ""; /** * get请求 * * @param url * 发送请求的URL * @return 服务器响应字符串 * @throws Exception */ public static String doGet(String url) throws Exception { // 创建HttpGet对象。 HttpGet get = new HttpGet(url); // 发送GET请求 HttpResponse httpResponse = httpClient.execute(get); // 如果服务器成功地返回响应 if (httpResponse.getStatusLine().getStatusCode() == 200) { // 获取服务器响应字符串 HttpEntity entity = httpResponse.getEntity(); InputStream content = entity.getContent(); return convertStreamToString(content); } return null; } /** * post请求 * * @param url * 发送请求的URL * @param params * 请求参数 * @return 服务器响应字符串 * @throws Exception */ public static String doPost(String url, Map<String, String> rawParams) throws Exception { // 创建HttpPost对象。 HttpPost post = new HttpPost(url); // 如果传递参数个数比较多的话可以对传递的参数进行封装 List<NameValuePair> params = new ArrayList<NameValuePair>(); for (String key : rawParams.keySet()) { // 封装请求参数 params.add(new BasicNameValuePair(key, rawParams.get(key))); } // 设置请求参数 post.setEntity(new UrlEncodedFormEntity(params, "utf-8")); // 发送POST请求 HttpResponse httpResponse = httpClient.execute(post); // 如果服务器成功地返回响应 if (httpResponse.getStatusLine().getStatusCode() == 200) { // 获取服务器响应字符串 HttpEntity entity = httpResponse.getEntity(); InputStream content = entity.getContent(); return convertStreamToString(content); } return null; } /** * 获取服务器的响应,转换为字符串 */ private static String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } }