在Android中一般get、post、put等请求,Android原生的httpUrlConnection支持这些请求方法,当如果有delete、patch方法时,就会有坑
例如delete方法,需要设置:
http = (HttpURLConnection) new URL(url).openConnection(); // 设置参数 // The problematic line is con.setDoOutput(true);. Removing that will fix the error. // http.setDoOutput(true); //需要输出 http.setDoInput(true); //需要输入 http.setUseCaches(false); //不允许缓存 http.setRequestProperty("X-HTTP-Method-Override", "DELETE"); http.setRequestMethod(method); //设置POST方式连接 http.setConnectTimeout(HttpManager.SocketTimeOut); // 连接超时 http.setReadTimeout(HttpManager.SocketTimeOut);// 读取超时
之后patch方法,很类似delete方法,但当时测试未成功,服务器只是返回请求方法有误,可能原生httpURLconnection并不支持。 后面就直接选择okHttp了,okhttp支持的请求方式很多,使用很方便。 http的其他详解,可参考博客:http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.htmlHTTP深入浅出 http请求