Apache HttpPost, использующий HttpClient с заголовком авторизации, всегда возвращает 401 из IIS 10.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Apache HttpPost, использующий HttpClient с заголовком авторизации, всегда возвращает 401 из IIS 10.

Сообщение Anonymous »


Я пытаюсь вызвать REST к веб-API, на котором работает IIS 10.0, из клиента Java. Я использую
[*]org.apache.http.client.HttpClient [*]org.apache.http.client.methods.HttpGet [*]org.apache.http.client.methods.HttpPost
Вот как я настраиваю запрос:

... httpclient = HttpClients.custom() .setDefaultRequestConfig(RequestConfig.custom() .setCookieSpec(CookieSpecs.STANDARD).build()) .строить(); HttpPost httppost = новый HttpPost(endpoint.getHost()); for(Заголовок заголовка: endpoint.getHeaders()){ httppost.setHeader(header.getKey(), header.getValue()); } StringEntity stringentity = новый StringEntity(полезная нагрузка, HTTP.UTF_8); httppost.setEntity(строга); // записываем запрос на консоль logPostRequestDetails (httppost); ответ = httpclient.execute(httppost); ... частный недействительный logPostRequestDetails (сообщение HttpPost) { System.out.println("URI: " + post.getURI()); // Заголовки журналов System.out.println("Заголовки:"); org.apache.http.Header[] заголовки = post.getAllHeaders(); for (org.apache.http.Header заголовок: заголовки) { System.out.println(header.getName() + ": " + header.getValue()); } // Регистрируем тело запроса если (post.getEntity() != ноль) { пытаться { System.out.println("Тело запроса: " + EntityUtils.toString(post.getEntity())); } catch (IOException e) { System.out.println("Тело запроса на регистрацию ошибок: " + e.getMessage()); } } } где консоль подтверждает наличие заголовка Authorization:

Авторизация: носитель [JWT-УДАЛЕНО] Но всегда сталкиваюсь с ошибкой 401:

[HttpResponseProxy{HTTP/1.1 401 Несанкционировано [Кодирование передачи: фрагментированное, Сервер: Microsoft-IIS/10.0, WWW-аутентификация: ошибка носителя = "invalid_token", X-Powered-By: ASP.NET, Strict-Transport-Security: max-age=31536000, Дата: пятница, 1 марта 2024 г., 17:39:29 GMT] ResponseEntityProxy{[Chunked: true]}}] Токен проверен действительным, поскольку я могу успешно использовать его с POSTMAN и cURL, а также с Apache HttpUrlConnection в Java . Это исключение генерируется только при использовании устаревшего HttpClient.

Я пробовал кодировать JWT base64, результат тот же.

Этот же HttpClient работает с Jira, когда я кодирую JWT base64.

Что мне не хватает? Пожалуйста, сообщите.

Та же проблема с HttpGet.

Я просмотрел другие сообщения SO по этому вопросу, но безрезультатно:
[*]Токен носителя авторизации в HttpClient [*]Заголовок аутентификации HttpClient не отправляется [*]HttpClient не принимает заголовки авторизации (401 несанкционировано) [*]Атрибут Authorize всегда возвращает 401.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Spring RestTemplate выдает 401 несанкционированную ошибку при отправке с заголовком авторизации
    Anonymous » » в форуме JAVA
    0 Ответы
    68 Просмотры
    Последнее сообщение Anonymous
  • HttpClient не принимает заголовки авторизации (401 неавторизованный)?
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • HttpClient не принимает заголовки авторизации (401 неавторизованный)?
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Org.apache.http.client.ClientProtocolException в HttpPost
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Org.apache.http.client.ClientProtocolException в HttpPost
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»