CURL УДАЛИТЬ на Java
Я использую команду "curl -X DELETE --header 'Accept: application / json' ' http://10.10.1.29:8181/onos/v1/flows/application/olsrflow' -u karaf: karaf"
Это может работать.
но использовать код JAVA не работает.
есть какие-либо проблемы в моем коде JAVA?
URL dc0ContrailUrl2 = new URL("http://10.10.1.29:8181/onos/v1/flows/application/olsrflow");
HttpURLConnection dcConn2 = (HttpURLConnection) dc0ContrailUrl2.openConnection();
dcConn2.setDoOutput(true);
String login = "karaf:karaf";
String content = URLEncoder.encode (login) ;
String basicAuth = "Basic " + new String(new Base64().encode(login.getBytes()));
dcConn2.setRequestProperty("Authorization",basicAuth);
dcConn2.setRequestProperty("Content-Type", "application/json");
dcConn2.setRequestMethod("DELETE");
BufferedReader in2 = new BufferedReader(new InputStreamReader(dcConn2.getInputStream()));
String inputLine2;
while ((inputLine2 = in2.readLine()) != null){ //while response is not null, assign response to inputLine and print inputLine
System.out.println(inputLine2);
}
in2.close();
Ошибка HTTP код ответа: 415
2 ответа
Вы не добавили тип Accept так же, как curl. Добавьте следующую строку и удалите Content-Type:
dcConn2.setRequestProperty("Accept", "application/json");
Обычно это означает, что сервер не поддерживает MediaType. Вы должны выяснить, чего он ожидает, и соответственно настроить его в своем запросе.