Use Java HttpUrlConnection With Map / Hashmap if you do not want to use the Apache library as a legacy.
public static String makeServiceCall(final String postUrl, final Map<String, String> postParams) { Log.e("URL#",postUrl); StringBuilder responseBuilder = new StringBuilder(); HttpURLConnection conn = null; try { final URL mUrl = new URL(postUrl); conn = (HttpURLConnection) mUrl.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("charset", "utf-8"); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Linux; U; Android-4.0.3; en-us; Galaxy Nexus Build/IML74K) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.75 Mobile Safari/535.7"); conn.connect(); conn.setReadTimeout(180000); conn.setConnectTimeout(180000); final OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); writer.write(getQuery(postParams)); writer.flush(); writer.close(); os.close(); final int responseCode = conn.getResponseCode(); if (responseCode == HttpsURLConnection.HTTP_OK) { String line; BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); while ((line = br.readLine()) != null) { responseBuilder.append(line); } } else { responseBuilder.append(""); } } catch (MalformedURLException e) { e.printStackTrace(); responseBuilder.append(e.getMessage()); return responseBuilder.toString(); } catch (IOException e) { e.printStackTrace(); responseBuilder.append(e.getMessage()); return responseBuilder.toString(); } finally { if (null != conn) { conn.disconnect(); } } System.gc(); return responseBuilder.toString(); } private static String getQuery(final Map<String, String> mPostItems) throws UnsupportedEncodingException { final StringBuilder result = new StringBuilder(); boolean first = true; final Set<String> mKeys = mPostItems.keySet(); for (String key : mKeys) { if (first) first = false; else result.append("&"); result.append(URLEncoder.encode(key, "UTF-8")); result.append("="); result.append(URLEncoder.encode(mPostItems.get(key), "UTF-8")); Log.e("Key#",key+"#"+mPostItems.get(key)); } return result.toString(); }
source share