java.io.IOException: проблем с аутентификацией не найдено

Я новичок в Android, и это мой первый проект на Android. Я борюсь с "аутентификация" проблема больше суток. Я пробовал несколько вариантов, но ни один из них не работал.

По сути, я хочу вызвать REST API и получить ответ. Я уверен, что в API нет проблем, так как я использую тот же в другом приложении iOS.

Я передаю заголовок авторизации, но все равно аутентификация не показывает найденное сообщение. Я нашел несколько вопросов о стекапровороте, связанных с этим, но некоторые из них не работали, а некоторые не имеют смысла для меня.



Я получаю код статуса401, Я знаю, что это означает, что либо аутентификация не пройдена, либо, если она пройдена, они ошибаются Здесь я уверен, что мои пропущенные верны.

Ниже мой код:

try {
    url = new URL(baseUrl);
}
catch (MalformedURLException me) {
     Log.e(TAG, "URL could not be parsed. URL : " + baseUrl + ". Line : " + getLineNumber(), me);
     me.printStackTrace();
}

try {
    urlConnection = (HttpURLConnection) url.openConnection();
    urlConnection.setRequestMethod(method); 
    urlConnection.setConnectTimeout(TIMEOUT * 1000);
    urlConnection.setChunkedStreamingMode(0);

    // Set HTTP headers                 
    String authString = "username:password";
    String base64Auth = Base64.encodeToString(authString.getBytes(), Base64.DEFAULT);
    urlConnection.setRequestProperty("Authorization", "Basic " + base64Auth);
    urlConnection.setRequestProperty("Accept", "application/json");
    urlConnection.setRequestProperty("Content-type", "application/json");

    if (method.equals("POST") || method.equals("PUT")) {
        // Set to true when posting data
        urlConnection.setDoOutput(true);

        // Write data to post to connection output stream
        OutputStream out = urlConnection.getOutputStream();
        out.write(postParameters.getBytes("UTF-8"));
    }

    try {
        // Get response
        in = new BufferedInputStream(urlConnection.getInputStream());
    }
    catch (IOException e) {
        Log.e(TAG, "Exception in getting connection input stream. in : " + in);
                    e.printStackTrace();
    }

    // Read the input stream that has response
    statusCode = urlConnection.getResponseCode();
    Log.d(TAG, "Status code : " + statusCode);
}
catch (ProtocolException pe) {
    pe.printStackTrace();
}
catch (IllegalStateException ie) {
    ie.printStackTrace();
}
catch (IOException e) {
    e.printStackTrace();
}   
finally {
    urlConnection.disconnect();
}



смотреть наскриншот logcat:



Любая помощь будет оценена. Спасибо.

Ответы на вопрос(5)

Ваш ответ на вопрос