当我使用HTTP发出405请求时,得到了HttpURLConnection响应代码DELETE

  public void makeDeleteRequest(String objtype,String objkey)
{
    URL url=null;
    String uri="http://localhost:8180/GoogleMapsLoadingTest/rest/GoogleMapsErp/";
    HttpURLConnection conn=null;
    try {
        url=new URL(uri);
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        conn=(HttpURLConnection) url.openConnection();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    conn.setDoInput(true);
    conn.setDoOutput(true);
    try {
        System.out.println(conn.getResponseCode());
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try {
        conn.setRequestMethod("DELETE");
    } catch (ProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}


我该如何提出要求?

最佳答案

您的服务器似乎有问题。我正在猜测nginx,但如果没有,请通知我。
看一下here,看看如何用HttpDavModule编译ngninx。还有其他服务器与此有问题,但是nginx默认情况下没有。

如果您正在运行Apache,请检查您的模块配置,以查看是否禁用它们。 Here's关于先前解决方案的帖子。不幸的是,此问题通常特定于已安装的模块。但是,在原始安装中,通常只能允许DELETE(请参阅配置文件以及该链接的OP)

关于java - 使用HttpURLConnection获取405响应代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23486723/

10-13 05:27