Я отправляю запрос 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» каким-то образом удален / отсутствует в запросе.
Чего мне не хватает?Что еще я могу попробовать?Спасибо.