Android set content type HttpPost
HttpPost httppost = new HttpPost(builder.getUrl()); httppost.setHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded;charset=UTF-8"); // Add your data httppost.setEntity(new UrlEncodedFormEntity(builder .getNameValuePairs(), "UTF-8")); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost);
Note: the builder just contains url and namevalue pairs.
Deprecated: nameValuePairs
Alternative: use volley library
The complete code for the call, for whoever might need it.
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("grant_type", "password")); nameValuePairs.add(new BasicNameValuePair("username", "user1")); nameValuePairs.add(new BasicNameValuePair("password", "password1")); HttpClient httpclient=new DefaultHttpClient(); HttpPost httppost = new HttpPost("www.yourUrl.com"); httppost.setHeader(HTTP.CONTENT_TYPE,"application/x-www-form-urlencoded;charset=UTF-8"); try { httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // Execute HTTP Post Request try { HttpResponse response = httpclient.execute(httppost); Log.d("Response:" , response.toString()); } catch (IOException e) { e.printStackTrace(); }