HttpEntity类的相关知识点(MultipartEntity)
2015-01-22 11:55
330 查看
代码转自http://blog.csdn.net/com360/article/details/7645247
这是一个Http请求的封装类,我们通过这个发送数据,也是通过这个接收数据,在进行处理
例如:
当然,如果使用流的话,肯定要记得关闭
更为详细的HttpEntity操作详见http://blog.csdn.net/com360/article/details/7645851
MultipartEntity为一个可以上传文件的包装类
具体用法如下
UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容,比如
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); //就是讲内容编译为 UTF-8的格式
这是一个Http请求的封装类,我们通过这个发送数据,也是通过这个接收数据,在进行处理
例如:
package com.scl.base; import java.io.IOException; import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity; import org.apache.http.ParseException; import org.apache.http.entity.StringEntity; import org.apache.http.util.EntityUtils; public class HttpClientDemo06 { /** * @param args */ public static void main(String[] args) { try { HttpEntity entity = new StringEntity("这一个字符串实体", "UTF-8"); //获取到一个HttpEntity的方式有很多,主要还是从respone中出来 //内容类型 System.out.println(entity.getContentType()); //内容的编码格式 System.out.println(entity.getContentEncoding()); //内容的长度 System.out.println(entity.getContentLength()); //把内容转成字符串 System.out.println(EntityUtils.toString(entity)); //内容转成字节数组 System.out.println(EntityUtils.toByteArray(entity).length); //还有个直接获得流 //entity.getContent(); } catch (UnsupportedEncodingException e) { 4000 throw new RuntimeException(e); } catch (ParseException e) { } catch (IOException e) { } } }
当然,如果使用流的话,肯定要记得关闭
public static void test() throws IllegalStateException, IOException{ HttpResponse response = null; HttpEntity entity = response.getEntity(); if(entity!=null){ InputStream is = entity.getContent(); try{ //做一些操作 }finally{ //最后别忘了关闭应该关闭的资源,适当的释放资源 if(is != null){ is.close(); } //这个方法也可以把底层的流给关闭了 EntityUtils.consume(entity); //下面是这方法的源码 /*public static void consume(final HttpEntity entity) throws IOException { if (entity == null) { return; } if (entity.isStreaming()) { InputStream instream = entity.getContent(); if (instream != null) { instream.close(); } } }*/ } }
更为详细的HttpEntity操作详见http://blog.csdn.net/com360/article/details/7645851
MultipartEntity为一个可以上传文件的包装类
具体用法如下
MultipartEntity mpEntity = new MultipartEntity(); StringBody stringBody = new StringBody(value); //所有要传的数据全部改为Body类型 FileBody file = new FileBody(imageFile,"image/jpeg"); //所有要传的数据全部改为Body类型 mpEntity.addPart(key, stringBody); mpEntity.addPart("pic", file); httppost.setEntity(mpEntity);
UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容,比如
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); //就是讲内容编译为 UTF-8的格式
相关文章推荐
- HTTP协议的状态管理相关知识点
- 【异步请求相关知识点】xmlHttp.status的值(HTTP状态表)
- HTTP相关知识点
- http相关知识点
- HTTP相关知识点总结
- httpClient相关知识点--使用方法
- 【随时更新】http和php相关知识点积累
- HTTP相关的知识点
- Httphandler学习中的知识点.
- HttpWebRequest编程相关问题(4)
- HttpWebRequest编程相关问题(2)
- [转-来自啊泰]SQL Server 日志操作相关代码 [http://www.cnblogs.com/babyt/archive/2005/03/21/122599.html]
- 利用HTTP_X_FORWARDED_FOR获取客户端IP(http代理的相关知识)
- http://blog.csdn.net/lovetangtang linux unix 相关
- 对C语言结构体知识点的学习以及复习相关基础知识
- HttpWebRequest编程相关问题(3)
- HttpWebRequest编程相关问题(5)
- 看了孙鑫老师的vc视频,今天又在大侠的blog里,即http://blog.csdn.net/hbyufan/ 中发现有相关笔记,转贴学习
- 关联菜单(选中洲名列出相关信息 4000 )效果:http://free.2259.com/jscode.asp?js_id=940
- LR散乱的知识点之一-IP欺骗相关