获取HttpURLConnection 响应体内容
2015-01-30 18:31
411 查看
1.返回byte[]
private static byte[] connection(HttpURLConnection huc, byte[] sendBytes, String mode) throws Exception { if (mode.equalsIgnoreCase("POST") && sendBytes != null) { huc.getOutputStream().write(sendBytes); huc.getOutputStream().flush(); huc.getOutputStream().close(); } int resCode = huc.getResponseCode(); if (resCode == HttpURLConnection.HTTP_OK) { int contentLength = huc.getContentLength(); InputStream in = huc.getInputStream(); if (contentLength > 0) { System.out.println("httputil,contentLength:"+contentLength); // return readData(huc); return readDataFromLength(in, contentLength); } else { return readData(in); } } return null; } private static byte[] readData(InputStream in) throws Exception { return FileUtils.readBytes(in); } private static byte[] readDataFromLength(InputStream in, int contentLength) throws Exception { BufferedInputStream bis = new BufferedInputStream(in); // 数据字节数组 byte[] receData = new byte[contentLength]; int readLength = 0; // 数据数组偏移量 int offset = 0; readLength = bis.read(receData, offset, contentLength); // 已读取的长度 int readAlreadyLength = readLength; while (readAlreadyLength < contentLength) { readLength = bis.read(receData, readAlreadyLength, contentLength-readAlreadyLength); readAlreadyLength = readAlreadyLength + readLength; } return receData; }2.返回String
private static String connection(HttpURLConnection huc, byte[] sendBytes, String mode) throws Exception { if (mode.equalsIgnoreCase("POST") && sendBytes != null) { huc.getOutputStream().write(sendBytes); huc.getOutputStream().flush(); huc.getOutputStream().close(); } int resCode = huc.getResponseCode(); if (resCode == HttpURLConnection.HTTP_OK) { int contentLength = huc.getContentLength(); InputStream in = huc.getInputStream(); if (contentLength > 0) { System.out.println("httputil,contentLength:"+contentLength); // return readData(huc); return readDataFromLength(in, contentLength); } else { return readData(in); } } return null; } private static String readData(InputStream in) throws Exception { return IOUtils.toString(in, "ISO-8859-1"); } private static String readDataFromLength(InputStream in, int contentLength) throws Exception { InputStreamReader isr = new InputStreamReader(in); BufferedReader reader = new BufferedReader(isr); StringBuffer sb = new StringBuffer(); String line = null; String resultString = ""; while ((line = reader.readLine()) != null) { sb.append(line); } resultString = sb.toString(); reader.close(); isr.close; return resultString; }
相关文章推荐
- java分别通过httpclient和HttpURLConnection获取图片验证码内容
- 使用HttpURLConnection获取网页内容
- Android HttpURLConnection和HttpClient获取网络内容
- 使用HttpURLConnection开发自动发送Get、Post请求并获取响应
- HttpURLConnection 从网页获取内容与乱码问题解决
- HttpClient和HttpURLConnection获取服务器返回的内容
- HttpURLConnection获取网页内容,解决乱码的通用方法
- JAVA HttpURLConnection 获取网页内容
- 在android上用HttpURLConnection获取网页内容
- JAVA HttpURLConnection 获取网页内容
- HTTP 获取网页内容 HttpURLConnection与HttpClient
- android开发-通过HttpURLConnection获取网络内容,Bitmap把二进制格式的图片转为位图
- 黄聪:Greasemonkey研究,通过GM_xmlhttpRequest获取远程URL的内容
- Android2.2以上的版本HttpURLConnection.getContentLength()获取的size跟下载下来的file的legth不相等
- HttpURLConnection重定向,获取及设置cookie
- CHttpConnection获取真实URL
- 用HttpURLConnection获取谷歌翻译结果
- 解决HttpURLConnection setConnectTimeout超时无响应的问题
- Android使用HttpURLConnection获取数据
- Android利用HttpURLConnection发送参数及获得页面内容