2011-12-23 4 views
3

Я просто стартер в java и хотел бы знать, как сделать вызов HTTP Delete на URL. Любая небольшая часть кода или справочного материала была бы очень полезна.Как выполнить удаление HTTP? Все, что мне дано, это URL

Я знаю, что вопрос будет звучать очень просто, но я нахожусь в срочной информации.

+3

Вы знаете, как сделать HTTP GET-вызов URL-адресу? –

+0

Нет, нужно ли позвонить, прежде чем мы выполним удаление? – Winz

+0

Я имею в виду, что если вы знаете, как сделать GET, то вы знаете, как сделать DELETE. –

ответ

0

Вы можете использовать Restlet. Его хороший клиент API.Or вы можете сделать следующим образом

URL url = new URL("http://www.example.com/resource"); 
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
httpCon.setDoOutput(true); 
httpCon.setRequestProperty(
    "Content-Type", "application/x-www-form-urlencoded"); 
httpCon.setRequestMethod("DELETE"); 
httpCon.connect(); 
httpCon.getInputStream() 
+0

Привет, вышеприведенный метод не работает, он возвращает «Bad Request». Я пробовал даже DeleteMethod delete = new DeleteMethod ('http://www.example.com/resource'); это не для этого тоже. – Winz

+0

Не могли бы вы дать мне знать, как выполнить DeleteMethod delete = new DeleteMethod ('http://example.com/resource'); – Winz

+0

Вы проверили правильный URL-адрес или нет. – kvc

0

Я думаю, вы можете назвать так:

URL url = new URL("http://www.abcd.com/blog"); 
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); 
httpConnection.setDoOutput(true); 
httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
httpConnection.setRequestMethod("DELETE"); 
httpConnection.connect(); 
1

DELETE, PUT, методы OPTIONS ограничены большинство серверов. Вот хорошее обсуждение этой темы в SO. Are the PUT, DELETE, HEAD, etc methods available in most web browsers?

+0

Кроме того, некоторые серверы не принимают запросы DELETE с телом запроса. Так что это не просто браузеры, которые нам нужно утомлять. +1 – jmort253

0

Фактически отправка HttpDelete похожа на HttpGet, сначала вы создадите URL со всеми параметрами, а затем просто выполните запрос, будет проверен следующий код.

StringBuilder urlBuilder = new StringBuilder(Config.SERVER) 
      .append("/api/deleteInfo?").append("id=") 
      .append(id); 
    urlBuilder.append("&people=").append(people).toString(); 

    try { 

     HttpClient httpClient = new DefaultHttpClient(); 
     HttpDelete httpDelete = new HttpDelete(urlBuilder.toString()); 
     HttpResponse httpResponse = httpClient.execute(httpDelete); 
     HttpEntity entity = httpResponse.getEntity(); 
     final String response = EntityUtils.toString(entity); 
     Log.d(TAG, "content = " + response); 
    } catch (final Exception e) { 
     e.printStackTrace(); 
     Log.d(TAG, "content = " + e.getMessage()); 
    } catch (OutOfMemoryError e) { 
     e.printStackTrace(); 
     System.gc(); 
    } 
+0

Можете ли вы сказать мне, где поставить headres? например, BasicHeader (HTTP.CONTENT_TYPE, «application/json») – 5er