CURL DELETE на 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

Есть разница в заголовке (команда curl) и свойствах запроса (код Java). Для получения дополнительной информации см .: webmasters.stackexchange.com/questions/31212/…

Pim Hazebroek 25.04.2018 14:24
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
164
2

Ответы 2

Обычно это означает, что сервер не поддерживает MediaType. Вы должны выяснить, чего он ожидает, и соответствующим образом настроить это в своем запросе.

Вы не добавили тип Accept так же, как curl. Добавьте следующую строку и удалите Content-Type:

 dcConn2.setRequestProperty("Accept", "application/json");

Разве вы не получили бы 406 Not Acceptable, если бы проблема была в Accept? 415 часто касается Content-Type. В запросе cURL OP не устанавливает Content-Type, но в Java-коде они задаются. Возможно, простое удаление Content-Type в коде Java решит проблему.

Paul Samsotha 26.04.2018 22:02

Дорогой Пол, ты прав. На самом деле я имею в виду заменить контент на accept.

Mostafa 27.04.2018 13:13

Другие вопросы по теме