HttpEntity类的相关知识点(MultipartEntity)

来源:互联网 发布:淘宝钻展怎么开通 编辑:程序博客网 时间:2024/06/11 07:03

代码转自http://blog.csdn.net/com360/article/details/7645247


这是一个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) {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的格式


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 tcl魔环显示离线怎么办 城管执法局执法不公平怎么办 人被骗去搞传销怎么办 进了传销想出来怎么办 武汉江夏健康证怎么办 健康证条子掉了怎么办 送外卖的健康证怎么办 美团没有健康证怎么办 健康证不给补办怎么办 南京怎么办健康证去哪里办 浙江横店健康证怎么办 办健康证查乙肝怎么办 餐饮健康证丢了怎么办 办健康证吃了东西怎么办 吃宵夜脸肿了怎么办 晚上不吃宵夜饿了怎么办 办健康证身份证丢了怎么办 宁波二院怎么办健康证 健康证和培训证怎么办 楼下烧煤炉呛人怎么办 衣服染了笔渍怎么办 济宁二院怎么办健康证 刚按揭车的想卖怎么办 房子已过户银行不放贷怎么办 办房贷信用逾期给拒了怎么办 二手房过户了房贷下不来怎么办 没有房证的房子买卖怎么办 老公失踪房产证要他签字怎么办 税务机关对长期欠税怎么办 离婚有贷款的房子怎么办 买房没过户房主反悔怎么办 房子过户卖方爱人去世怎么办 黄浦区学生社会实践护照掉了怎么办 北京医保卡坏了怎么办 去了越南的签证怎么办 护照签证到期还在国外怎么办 办护照预约满了怎么办 未满16岁怎么办护照 办理护照采集指纹录不上怎么办 办理护照时指纹没有怎么办 未满16岁的怎么办护照