Служба RESTFUL причала, возвращающая ошибку 403 - PullRequest
0 голосов
/ 15 ноября 2018

Я сталкиваюсь с этим HTTP 403 Запрещенный ответ от службы https REST, когда я пытаюсь вызвать его из моего кода Java.Не могли бы вы сообщить мне, если я что-то здесь упускаю?

Обратите внимание, что сервер возвращает ожидаемые данные, когда я инициирую запрос из любого браузера / клиентов SOAPUI / Chrome Postman.Используются 2 одноранговых сертификата - как показано в информации ssl из soapui после отправки запроса.

Фрагмент кода прилагается.[Заголовки, которые я установил в коде, взяты из заголовка запроса, который я нашел из успешных запросов]

HttpsURLConnection connection = (HttpsURLConnection)new URL("https://server address").openConnection();
connection.setRequestProperty("Authorization", "Basic " + authStringEnc);
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
connection.setRequestProperty("Accept-Encoding","gzip, deflate, br");
connection.setRequestProperty("User-Agent", "Apache-HttpClient/4.1.1");
connection.addRequestProperty("Connection", "Keep-Alive");
connection.addRequestProperty("Cache-Control","no-cache");
connection.setRequestMethod("GET");
connection.connect();

System.out.println("Response Code : " + connection.getResponseCode()+" "+connection.getResponseMessage());

Код ответа: 403 Запрещено

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Спасибо за ваш ответ. Проблема связана с файлом cookie сеанса, который будет использоваться для подключения. Мы можем подключиться и получить ответ с кодом ответа HTTP 200, как только cookie с JSESSIONID передается в качестве заголовка. Еще раз спасибо.

0 голосов
/ 15 ноября 2018

Можете ли вы проверить URL-адрес сервера, если он имеет формат Java Acceptable?
Иногда java нужны экранирующие символы для правильного распознавания строк. Этот вопрос: Что такое все escape-символы? , может помочь вам проверить, используете ли вы какой-либо из этих символов. Также проверьте, правильно ли выполнено преобразование в функции.
Кроме того, если у вас более сложный URL, рассмотрите возможность использования java.net.URL.
Наконец, проверьте параметр агента пользователя Настройка агента пользователя java URLConnection .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...