POST request to REST API on Android not getting parameters
<p>I'm building a webapp with an associated REST API in the backend.</p>

<p>The API made with django-rest-framework is working, I can do the following from the command line: </p>

<pre><code>$ http http://localhost:8000/API/api-token-auth/ username=ortho1 password=123456

HTTP/1.0 200 OK
Allow: POST, OPTIONS
Content-Type: application/json
Date: Wed, 11 May 2016 12:43:05 GMT
Server: WSGIServer/0.2 CPython/3.5.1+
Vary: Cookie
X-Frame-Options: SAMEORIGIN

{
    "token": "4d6e32726e321448fc212242fc03a3fa84c80510"
}
</code></pre>

<p>But from my Android App I try to do the following:</p>

<pre><code>protected String doInBackground(String... urls) {
    // Starting the request
    URL url;
    HttpURLConnection urlConnection = null;
    try {

        url = new URL("http://10.0.2.2:8000/API/api-token-auth/");
        urlConnection = (HttpURLConnection) url.openConnection();

             /* optional request header */
        urlConnection.setRequestProperty("Content-Type", "application/json");
        urlConnection.setRequestProperty("Accept", "application/json");

            /* for GET request */
        urlConnection.setRequestMethod("POST");

        String urlParameters =
                "username=" + URLEncoder.encode("ortho1", "UTF-8") +
                        "&amp;password=" + URLEncoder.encode("123456", "UTF-8");

        urlConnection.setRequestProperty("Content-Length", "" +
                Integer.toString(urlParameters.getBytes().length));

        urlConnection.setDoOutput(true);
        urlConnection.setDoInput(true);

        DataOutputStream wr = new DataOutputStream (
                urlConnection.getOutputStream ());
        wr.writeBytes (urlParameters);
        wr.flush ();
        wr.close ();

        InputStream inputStream;
        if (urlConnection.getResponseCode() == 200) { // 2xx code means success
            inputStream = urlConnection.getInputStream();
        } else {

            inputStream = urlConnection.getErrorStream();

        }

        inputStream = new BufferedInputStream(inputStream);


        String response = convertInputStreamToString(inputStream);

        Log.i("Request", response);

        return response;

    } catch (Exception e) {

        e.printStackTrace();
        return null;

    } finally {
        if(urlConnection != null) {
            urlConnection.disconnect();
        }
    }

}

private String convertInputStreamToString(InputStream inputStream) throws IOException {

    BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));

    String line = "";
    String result = "";

    while((line = bufferedReader.readLine()) != null){
        result += line;
    }

        /* Close Stream */
    if(null!=inputStream){
        inputStream.close();
    }

    return result;
}
</code></pre>

<p>I get in the console as response from the server:</p>

<pre><code>{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"} 
</code></pre>

<p>as result.</p>

<p>What could I be doing wrong?</p>