HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("DELETE");
int responseCode = connection.getResponseCode();
3
public HttpURLConnection getHttpConnection(String url, String type){
URL uri = null;
HttpURLConnection con = null;
try{
uri = new URL(url);
con = (HttpURLConnection) uri.openConnection();
con.setRequestMethod(type); //type: POST, PUT, DELETE, GET
con.setDoOutput(true);
con.setDoInput(true);
con.setConnectTimeout(60000); //60 secs
con.setReadTimeout(60000); //60 secs
con.setRequestProperty("Accept-Encoding", "Your Encoding");
con.setRequestProperty("Content-Type", "Your Encoding");
}catch(Exception e){
logger.info( "connection i/o failed" );
}
return con;
}
然后在你的代码中:
public void yourmethod(String url, String type, String reqbody){
HttpURLConnection con = null;
String result = null;
try {
con = conUtil.getHttpConnection( url , type);
//you can add any request body here if you want to post
if( reqbody != null){
con.setDoInput(true);
con.setDoOutput(true);
DataOutputStream out = new DataOutputStream(con.getOutputStream());
out.writeBytes(reqbody);
out.flush();
out.close();
}
con.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String temp = null;
StringBuilder sb = new StringBuilder();
while((temp = in.readLine()) != null){
sb.append(temp).append(" ");
}
result = sb.toString();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.error(e.getMessage());
}
//result is the response you get from the remote side
}
9 回答
要执行HTTP PUT:
要执行HTTP DELETE:
这是它对我有用的方式:
然后在你的代码中:
我同意@adietisheim和其他建议HttpClient的人 .
我花了很多时间尝试使用HttpURLConnection进行简单的休息服务,并且它没有说服我,之后我尝试使用HttpClient,它真的更容易,可以理解和更好 .
进行put http调用的代码示例如下:
UrlConnection是一个难以使用的API . HttpClient是迄今为止更好的API,它将使您免于浪费时间搜索如何实现某些事情,例如stackoverflow问题完全说明 . 我在几个REST客户端中使用了jdk HttpUrlConnection之后编写了这个 . 此外,当谈到可伸缩性功能(如线程池,连接池等)时,HttpClient非常出色
要正确执行HTML中的PUT,您必须使用try / catch包围它:
我会推荐Apache HTTPClient .
How to do a PUT.
How to do a DELETE.
即使是休息模板也可以选择:
有一个简单的删除和放置请求的方法,你可以通过添加“
_method
" parameter to your post request and write "PUT
" or "DELETE
”来实现它的 Value !