public class HttpClientUtils { /** * 访问网络,将下载的数据存储到文件流中 * * @param url * :访问网络的url地址 * @return InputStream */ public static InputStream loadFileFromNet(String url) { HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity entity = response.getEntity(); return entity.getContent(); // int len = -1; // byte[] buff = new byte[1024]; // while ((len = bis.read(buff)) != -1) { // bos.write(buff, 0, len); // bos.close(); // } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 实现网络访问文件,将获取到的数据存在字节数组中 * * @param url * :访问网络的url地址 * @return byte[] */ public static byte[] loadByteFromNet(String url) { HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { // HttpEntity httpEntity = response.getEntity(); // return EntityUtils.toByteArray(httpEntity); return EntityUtils.toByteArray(response.getEntity()); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 做用:实现网络访问文件,返回字符串 * * @param url * :访问网络的url地址 * @return String */ public static String loadTextFromURL(String url) { HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { return EntityUtils.toString(response.getEntity(), "UTF-8"); // HttpEntity httpEntity = response.getEntity(); // return EntityUtils.toString(httpEntity, "utf-8"); } } catch (Exception e) { e.printStackTrace(); } return null; } /** * 做用:实现网络访问文件,先给服务器经过“GET”方式提交数据,再返回相应的数据 * * @param url * :访问网络的url地址 * @param params * String url:访问url时,须要传递给服务器的参数。 * 第二个参数格式为:username=admin&password=123456 * @return byte[] */ public static byte[] doGetSubmit(String url, String params) { HttpClient httpClient = new DefaultHttpClient(); HttpGet requestGet = new HttpGet(url + "?" + params); try { HttpResponse httpResponse = httpClient.execute(requestGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); return EntityUtils.toByteArray(httpEntity); } } catch (Exception e) { e.printStackTrace(); } /* * try { URL url2 = new URL(url); HttpURLConnection connect = * (HttpURLConnection) url2 .openConnection(); * connect.setRequestMethod("POST"); OutputStream os = * connect.getOutputStream(); * os.write("username=admin&password=123456".getBytes()); * connect.setDoOutput(true);// 上传记得改成true,它默认为false * ByteArrayOutputStream bos = new ByteArrayOutputStream(); if * (connect.getResponseCode() == 200) { InputStream is = * connect.getInputStream(); byte[] buff = new byte[1024]; int len = -1; * while ((len = is.read(buff)) != -1) { bos.write(buff, 0, len); * is.close(); } bos.close(); return bos.toByteArray(); } } catch * (Exception e) { e.printStackTrace(); } */ return null; } /** * 做用:实现网络访问文件,先给服务器经过“POST”方式提交数据,再返回相应的数据 使用HttpClient实现 * * @param url * :访问网络的url地址 * @param params * String url:访问url时,须要传递给服务器的参数。 第二个参数为:List<NameValuePair> * @return byte[] */ public static byte[] doPostSubmit(String url, List<NameValuePair> params) { HttpClient httpClient = new DefaultHttpClient(); HttpPost requestPost = new HttpPost(url); try { requestPost.setEntity(new UrlEncodedFormEntity(params, "utf-8")); HttpResponse httpResponse = httpClient.execute(requestPost); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); return EntityUtils.toByteArray(httpEntity); } } catch (Exception e) { e.printStackTrace(); } return null; // HttpClient client = new DefaultHttpClient(); // HttpPost post = new HttpPost(url); // try { // List<NameValuePair> parameters = new ArrayList<NameValuePair>(); // NameValuePair parametersname = new BasicNameValuePair("username", // "admin"); // NameValuePair parameterspwd = new BasicNameValuePair("password", // "123456"); // parameters.add(parametersname); // parameters.add(parameterspwd); // HttpEntity entity = new UrlEncodedFormEntity(parameters); // post.setEntity(entity); // HttpResponse response = client.execute(post); // if (response.getStatusLine().getStatusCode() == 200) { // // InputStream is = response.getEntity().getContent(); // return EntityUtils.toByteArray(response.getEntity()); // } // } catch (Exception e) { // e.printStackTrace(); // } // return null; } /** * 做用:实现网络访问文件,先给服务器经过“POST”方式提交数据,再返回相应的数据 使用HttpClient实现 * * @param url * :访问网络的url地址 * @param params * String url:访问url时,须要传递给服务器的参数。 Map<String , Object> * @return byte[] */ public static byte[] doPostSubmit(String url, Map<String, Object> params) { HttpClient httpClient = new DefaultHttpClient(); HttpPost requestPost = new HttpPost(url); List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>(); try { if (params != null) { for (Map.Entry<String, Object> entry : params.entrySet()) { String key = entry.getKey(); String value = entry.getValue().toString(); BasicNameValuePair nameValuePair = new BasicNameValuePair( key, value); parameters.add(nameValuePair); } } requestPost .setEntity(new UrlEncodedFormEntity(parameters, "utf-8")); HttpResponse httpResponse = httpClient.execute(requestPost); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); return EntityUtils.toByteArray(httpEntity); } } catch (Exception e) { e.printStackTrace(); } return null; // try { // HttpClient client = new DefaultHttpClient(); // HttpPost post = new HttpPost(url); // Map<String, Object> params1 = new HashMap<String, Object>(); // String username = "admin"; // String password = "123456"; // params1.put("usernaem", username); // params1.put("password", password); // // post.setEntity((HttpEntity) params1.entrySet()); // HttpResponse response = client.execute(post); // if (response.getStatusLine().getStatusCode() == 200) { // // InputStream is = response.getEntity().getContent(); // return EntityUtils.toByteArray(response.getEntity()); // } // } catch (Exception e) { // e.printStackTrace(); // } // return null; } }