Почему на сервере отсутствует заголовок «Авторизация» Android? - PullRequest
0 голосов
/ 12 февраля 2019

Я отправляю запрос Android в API сервера Directus и добавляю заголовок «Авторизация» с помощью addRequestProperty (), но сервер возвращает 405 FileNotFoundException.

URL url = new URL(serverURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.addRequestProperty("Authorization", "Bearer " + token);
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();

При отправке из браузера запросс идентичным заголовком «Authorization: Bearer [myToken]» работает нормально и возвращает набор данных jSON.

Мой файл .htaccess выглядит так:

RewriteEngine On
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Setenvif authorization ^(.+)$ auth_head=$1

Я также пыталсяитерируйте заголовки с помощью этого простого сценария .php, но заголовок «Authorization» никогда не появляется:

$headers = getallheaders();
foreach ($headers as $name => $value) {
    echo $name . '=' . $value . ' | ';
}

Кажется, заголовок «Authorization» каким-то образом удален / отсутствует в запросе.

Чего мне не хватает?Что еще я могу попробовать?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...