Я отправляю запрос 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, но заголовка «Авторизация» никогда не было:
$headers = getallheaders();
foreach ($headers as $name => $value) {
echo $name . '=' . $value . ' | ';
}
Похоже, заголовок «Авторизация» как-то удален / отсутствует в запросе.
Что мне не хватает? Что еще я могу попробовать?
Спасибо.
Задача ещё не решена.
Других решений пока нет …