6

我只是 java 的初学者,想知道如何对 URL 进行 HTTP Delete 调用。任何一小段代码或参考资料都会非常有帮助。

我知道这个问题听起来很简单,但我急需这些信息。

4

5 回答 5

1

DELETE、PUT、OPTIONS 方法受到大多数服务器的限制。这是关于 SO 中这个主题的很好的讨论。 大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?

于 2011-12-26T05:38:46.430 回答
1

实际上发送 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();
    }
于 2013-10-01T10:48:19.140 回答
0

你也可以试试 Apache HttpClient,它为所有 HTTP 方法(GET、PUT、DELETE、POST、OPTIONS、HEAD 和 TRACE)提供了一个 API。

有关示例,请查看此处:http ://hc.apache.org/httpclient-3.x/methods/delete 。API参考在这里:http ://hc.apache.org/httpclient-3.x/apidocs/index.html

干杯

于 2011-12-23T20:04:08.897 回答
0

您可以使用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()
于 2011-12-23T19:57:26.780 回答
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();
于 2011-12-23T20:02:51.600 回答