Android/java 利用HttpUrlConnection 发送put请求,携带json参数
2015-06-12 11:42
821 查看
<span style="font-size:18px;"> 之前关于Http请求基本上只接触过GET和POST,最近由于项目需要使用Http的put请求,由于之前对PUT请求完全不了解,度娘里面也基本上没啥可直接参考的,于是去stackoverflow找到了<span style="color:#ff0000;">http://stackoverflow.com/questions/15678208/making-put-request-with-json-data-using-httpurlconnection-is-not-working</span> 这篇文章,参考了这篇文章,终于解决了PUT请求的一些问题,下面做一下简单的记录,方便自己学习和交流,因为是新手第一次做这个,错误之处,欢迎指出,一起学习交流。</span>
关于PUT请求的代码实现,其实跟POST请求比较相似,下面是代码:
<span style="font-size:14px;">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); //设置请求方式为 PUT urlConn.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; }</span>
<span style="font-size:14px;">本人也是新手,欢迎交流学习</span>
相关文章推荐
- 图解TCP-IP协议
- Android网络编程之传递数据给服务器
- Oralce网络配置解决本地访问服务器oracle
- Linux网络配置
- php开发环境(图文) 原地址:http://my.oschina.net/joanfen/blog?catalog=350189
- Facebook网络环境模拟工具ATC的使用
- 下载网络上某一网址下面的图片到本地
- HttpClient 4.3超时设置
- 【C#】HTTP请求GET,POST(远程证书失效)
- HttpServlet为什么有两个service方法
- lighttpd启动不了,libssl.so.4&libcrypto.so.4 缺失
- 网络请求库Volley
- Android:网络通信框架Volley简介(Google IO 2013)
- 网络编程及安全
- android网络技术之——webview使用实例
- 《TCP/IP详细解释》札记(23章)-TCP该保活定时器
- 51CTO展示我的IT人生
- 网络上常用的一些网站
- quick cocos2dx lua 网络图片 下载 自动更新
- java实现大文件下载(http方式)