Я уже несколько дней пытаюсь подключиться к серверу Jira (с базовым c auth), но не могу заставить его работать. Я всегда получаю ошибку «403 Forbidden». Тем временем я отчаянно отчаиваюсь и надеюсь, что кто-то может мне помочь.
Пример кода выглядит так:
public class Main
{
private static final String JIRA_URL = "https://jira.mycompany.com/rest/api/latest/project/";
private static String auth = new String(Base64.encode("admin" + ":" + "password"));
private static String headerAuthorization = "Authorization";
final static String headerAuthorizationValue = "Basic " + auth;
final static String headerType = "application/json";
public static void main(String[] args) throws Exception
{
Client client = Client.create();
WebResource webResource = client.resource(JIRA_URL);
ClientResponse response = webResource.header(headerAuthorization,headerAuthorizationValue).type(headerType).accept("application/json").get(ClientResponse.class);
int statusCode = response.getStatus();
if (statusCode == 401) {
throw new AuthenticationException("401 Invalid Username or Password");
} else if (statusCode == 403) {
throw new AuthenticationException("403 Forbidden");
}
}
}
Как уже написано, я всегда получаю ошибку 403. :( Если я ввожу URL-адрес в браузере, он работает без проблем, так что я абсолютно в растерянности. Может кто-нибудь увидеть, что я делаю не так? Большое спасибо за вашу помощь!
Редактировать 2020-05-03
По предложению PiRocks я однажды попытался сравнить вызовы.
Вызов в браузере:
Заголовок:
Мне это выглядит одинаково, но, к сожалению, я не знаю много деталей в шапке. Есть ли различия в моем код?
Почтальон: Кроме того, я попытался сделать запрос с Почтальоном. Это тоже работает. Тип авторизации также "Basi c Auth".
Как видите, я получил код состояния 200, и все заработало. По моему мнению, запрос идентичен моему коду, не так ли?
Кроме того, я попробовал код из Почтальон, но, как ни странно, я получаю сообщение об ошибке 403. Даже с этим кодом.
У кого-нибудь еще есть идеи? Если подумать, что может быть не так ...: (