Я пытаюсь получить правильный ответ от API Confluence REST, но я все еще получаю IOException, сообщая, что сервер отвечает с кодом состояния 500.Вот код, который я использую:
String test = executePost("http://<server>/rest/api/content/");
public static String executePost(String targetURL)
{
HttpURLConnection connection = null;
try
{
//Create connection
URL url = new URL(targetURL);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",
"application/json; charset=utf-8");
String name = "admin";
String password = "admin";
String authString = name + ":" + password;
String encodedString = Base64.getEncoder().encodeToString(authString.getBytes());
connection.setRequestProperty("Authorization", "Basic " + encodedString);
connection.setUseCaches(false);
connection.setDoOutput(true);
//Send request
DataOutputStream wr = new DataOutputStream(
connection.getOutputStream());
wr.close();
//Get Response
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
StringBuffer response = new StringBuffer();
String line;
while ((line = rd.readLine()) != null)
{
response.append(line);
response.append('\r');
}
rd.close();
return response.toString();
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
finally
{
if (connection != null)
connection.disconnect();
}
}
Ошибка, которую я получаю, говорит:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://<server>/rest/api/content/
Когда я пытаюсь отправить запрос через curl с теми же учетными данными, яЯ получаю ожидаемый ответ, что должно означать, что я что-то упустил в своем коде Java, но я не могу узнать, что.