Ошибка Java - невозможно добавить авторизацию в HttpURLConnection set/addRequestProperty()

Я пытаюсь добавить авторизацию к запросу в моем HttpURLConnection. Я могу добавить другие свойства, такие как Content-type или даже пользовательские свойства, но когда я пытаюсь добавить свойство Authorization, оно просто не добавляется. Это мой код:

try {
        URL url = new URL("http://www.google.es");
        HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
        
        httpCon.setDoOutput(true);
        httpCon.setRequestProperty("Authorization", "Bearer aqufbzkia.zsdkbdckbjae.AKbAbaudbf");
        
        httpCon.setRequestProperty("my-property", "what-ever-value");
        
        httpCon.setRequestProperty("Accept", "text/html");
        
        System.out.println("------------------- Request Headers -----------------------");
        
        Map<String, List<String>> requestHeaders = httpCon.getRequestProperties();
        Set<String> requestHeader = requestHeaders.keySet();
        for(String key : requestHeader)
            System.out.println("Header: " + key + " : " + requestHeaders.get(key).toString());
        
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Значение авторизации уже закодировано.

Вывод, который я получаю из цикла, таков:

------------------- Заголовки запроса -----------------------

Заголовок: Принять: [текст/html]

Заголовок: мое-свойство: [какое-либо значение]

Авторизация не добавляется в свойства запроса, пожалуйста, просмотрите и оставьте отзыв.


person MyName    schedule 14.03.2019    source источник


Ответы (1)


Добро пожаловать в StackOverflow.

Ваш заголовок «Авторизация» добавляется правильно, но он будет исключен при доступе к httpCon.getRequestProperties(), поскольку заголовки «Авторизация» и «Прокси-авторизация» находятся в разделе «EXCLUDED_HEADERS» класса HttpURLConnection. Если вы нажмете любой URL-адрес с этими заголовками, они будут переданы в запросе. Нет необходимости беспокоиться об этом. Чтобы проверить это, вы можете использовать такие сайты, как https://beeceptor.com.

person Praveen E    schedule 14.03.2019
comment
Просто отладьте класс HttpURLConnection. Вы поймете это лучше. - person Praveen E; 15.03.2019