title: HttpUrlConnection with post request and parameter as Json object android
body: <p>Hi I am developing small android application in which I want to use HttpUrlConnection post request with params as json object. But its not working for me I did it in following way:</p>
  
  <pre><code>try 
  {
      URL url;
      DataOutputStream printout;
      DataInputStream  input;
      url = new URL ("https://abc.com");
      HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
      urlConnection.setRequestMethod("POST");  
      urlConnection.setDoInput (true);
      urlConnection.setDoOutput (true);
      urlConnection.setUseCaches (false);
  
      urlConnection.setConnectTimeout(10000);  
      urlConnection.setReadTimeout(10000);
  
      urlConnection.setRequestProperty("Content-Type","application/json");   
      urlConnection.connect();  
  
      JSONObject jsonParam = new JSONObject();
  
        JSONArray arr = new JSONArray();
        arr.put("LNCf206KYa5b");
        arr.put("oWdC0hnm1jjJ");
        jsonParam.put("places", arr);
        jsonParam.put("action", "Do");
  
              printout = new DataOutputStream(urlConnection.getOutputStream ());
              printout.writeUTF(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
              printout.flush ();
              printout.close ();
  
              int HttpResult =urlConnection.getResponseCode();  
  
          if(HttpResult ==HttpURLConnection.HTTP_OK){  
          BufferedReader br = new BufferedReader(new InputStreamReader(  
              urlConnection.getInputStream(),"utf-8"));  
          String line = null;  
  
             while ((line = br.readLine()) != null) {  
              sb.append(line + "\n");  
          }  
          br.close();  
  
             //System.out.println(""+sb.toString());  
  
          }else{  
               System.out.println(urlConnection.getResponseMessage());  
          }  
      } catch (MalformedURLException e) {  
  
          e.printStackTrace();  
      }  
      catch (IOException e) {  
  
          e.printStackTrace();  
      } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }finally{  
          if(urlConnection!=null)  
             urlConnection.disconnect();  
      }  
  }
  </code></pre>
  
  <p>Its not giving any response code or any output. Am I doing something wrong. How to slove this problem. Need help. Thank you .</p>
  
  <p>I got following system error</p>
  
  <pre><code>06-07 09:55:58.171: W/System.err(4624): java.io.IOException: Received authentication challenge is null
  06-07 09:55:58.171: W/System.err(4624):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processAuthHeader(HttpURLConnectionImpl.java:1153)
  06-07 09:55:58.171: W/System.err(4624):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:1095)
  06-07 09:55:58.171: W/System.err(4624):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1048)
  06-07 09:55:58.171: W/System.err(4624):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:726)
  06-07 09:55:58.179: W/System.err(4624):     at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:121)
  06-07 09:55:58.179: W/System.err(4624):     at com.mobiotics.qcampaigns.data.operation.ProximityOperation.execute(ProximityOperation.java:187)
  06-07 09:55:58.179: W/System.err(4624):     at com.foxykeep.datadroid.service.RequestService.onHandleIntent(RequestService.java:145)
  06-07 09:55:58.179: W/System.err(4624):     at com.foxykeep.datadroid.service.MultiThreadedIntentService$IntentRunnable.run(MultiThreadedIntentService.java:170)
  </code></pre>