Как выполнить удаление HTTP? Все, что мне дают, это URL - PullRequest
3 голосов
/ 23 декабря 2011

Я только начинающий в Java и хотел бы знать, как сделать HTTP Удалить вызов URL-адреса. Любой маленький кусочек кода или справочный материал был бы очень полезен.

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

Ответы [ 5 ]

1 голос
/ 26 декабря 2011

Методы DELETE, PUT, OPTIONS ограничены большинством серверов.Вот хорошее обсуждение этой темы в SO. Доступны ли методы PUT, DELETE, HEAD и т.д. в большинстве веб-браузеров?

0 голосов
/ 01 октября 2013

На самом деле отправка 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 голосов
/ 24 декабря 2011

Полагаю, вы можете позвонить так:

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();
0 голосов
/ 24 декабря 2011

Вы также можете попробовать Apache HttpClient, он предоставляет API для всех методов HTTP (GET, PUT, DELETE, POST, OPTIONS, HEAD и TRACE).

Для примера смотрите здесь: http://hc.apache.org/httpclient-3.x/methods/delete. Ссылка API здесь: http://hc.apache.org/httpclient-3.x/apidocs/index.html

Приветствия

0 голосов
/ 23 декабря 2011

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

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()
...