之前关于Http请求基本上只接触过GET和POST,最近由于项目需要使用Http的put请求,由于之前对PUT请求完全不了解,度娘里面也基本上没啥可直接参考的,于是去stackoverflow找到了http://stackoverflow.com/questions/15678208/making-put-request-with-json-data-using-httpurlconnection-is-not-working 这篇文章,参考了这篇文章,终于解决了PUT请求的一些问题,下面做一下简单的记录,方便自己学习和交流,因为是新手第一次做这个,错误之处,欢迎指出,一起学习交流。


关于PUT请求的代码实现,其实跟POST请求比较相似,下面是代码:

public String httpUrlConnectionPut(String httpUrl, String... params) {String result = "";URL url = null;try {url = new URL(httpUrl);} catch (MalformedURLException e) {e.printStackTrace();}if (url != null) {try {HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();urlConn.setRequestProperty("content-type", "application/json");urlConn.setDoInput(true);urlConn.setDoOutput(true);urlConn.setConnectTimeout(5 * 1000);//设置请求方式为 PUTurlConn.setRequestMethod("PUT");urlConn.setRequestProperty("Content-Type", "application/json");urlConn.setRequestProperty("Accept", "application/json");urlConn.setRequestProperty("Charset", "UTF-8");DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());//写入请求参数//这里要注意的是,在构造JSON字符串的时候,实践证明,最好不要使用单引号,而是用“\”进行转义,否则会报错 // 关于这一点在上面给出的参考文章里面有说明String jsonParam = "{\"appid\":6,\"appkey\":\"0cf0vGD/ClIrVmvVT/r5hEutH5M=\",\"openid\":200}";dos.writeBytes(jsonParam);dos.flush();dos.close();if (urlConn.getResponseCode() == 200) {InputStreamReader isr = new InputStreamReader(urlConn.getInputStream());BufferedReader br = new BufferedReader(isr);String inputLine = null;while ((inputLine = br.readLine()) != null) {result += inputLine;}isr.close();urlConn.disconnect();}} catch (Exception e) {e.printStackTrace();}}return result;}
本人也是新手,欢迎交流学习


更多相关文章

  1. Android(安卓)开发学习小结(五)
  2. android企业开发学习——handler
  3. Android(安卓)— 手撸代码学习事件分发的过程
  4. android学习日记:拨号按键声音自定义
  5. Android(安卓)Design Support Library使用示例(一)
  6. Android学习笔记10——Android的调试
  7. Android学习系列Toolbar,AppBarLayout,CoordinatorLayout,Collapsin
  8. 网易云短信android接入
  9. 学习android JNI的那些事儿--------4. Field & Method --> Acces

随机推荐

  1. Android中获取指定日期是星期几
  2. android窃密短信监听
  3. android手机状态解释,比如android.os.Buil
  4. Android(安卓)Studio 3.1.1更新问题Could
  5. Android - 购物车页面【仿】淘宝App
  6. Android 百度地图的使用
  7. Graphics->Compass
  8. Android:Material Design详解
  9. Android SwitchButton(滑动开关)
  10. Android 中沉浸式状态栏实现