当我使用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/