Http MultipartEntity与UrlEncodedFormEntity
2015-12-11 15:53
441 查看
这两个类均实现了HttpEntity接口,而二者的区别就和html表单有关系,
html中的form 表单有两种:除了传统的application/x-www-form-urlencoded表单,我们另一个经常用到的是上传文件用的表单,这种表单的类型为multipart/form-data。 后者主要是用来上传文件所用,所以一般情况下,在使用webservice 时,使用UrlEncodedFormEntity
比较多,UrlEncodedFormEntity 可以模拟传统的HTML表单传送POST请求中的参数,
如:html表单如下:
<form action=”http://localhost/index.html” method=”POST”>
<input type=”text” name=”param1″ value=”李三”/>
<input type=”text” name=”param2″ value=”男”/>
<inupt type=”submit” value=”submit”/>
</form>
代码如下:
List<NameValuePair> formParams = new ArrayList<NameValuePair>();
formParams.add(new BasicNameValuePair(“param1″, “李三”));
formParams.add(new BasicNameValuePair(“param2″, “男”));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, “UTF-8″);
MultipartEntity 则与form类型为multipart/form-data 对应,如 html from 如下:
<form action=”http://localhost/index.html” method=”POST”
enctype=”multipart/form-data”>
<input type=”text” name=”param1″ value=”李三”/>
<input type=”text” name=”param2″ value=”男”/>
<input type=”file” name=”param3″/>
<inupt type=”submit” value=”submit”/>
</form>
代码如下:
MultipartEntity entity = new MultipartEntity();
entity.addPart(“param1″, new StringBody(“李三”, Charset.forName(“UTF-8″)));
entity.addPart(“param2″, new StringBody(“男”, Charset.forName(“UTF-8″)));
entity.addPart(“param3″, new FileBody(new File(“C:\\pic.gif”)));
html中的form 表单有两种:除了传统的application/x-www-form-urlencoded表单,我们另一个经常用到的是上传文件用的表单,这种表单的类型为multipart/form-data。 后者主要是用来上传文件所用,所以一般情况下,在使用webservice 时,使用UrlEncodedFormEntity
比较多,UrlEncodedFormEntity 可以模拟传统的HTML表单传送POST请求中的参数,
如:html表单如下:
<form action=”http://localhost/index.html” method=”POST”>
<input type=”text” name=”param1″ value=”李三”/>
<input type=”text” name=”param2″ value=”男”/>
<inupt type=”submit” value=”submit”/>
</form>
代码如下:
List<NameValuePair> formParams = new ArrayList<NameValuePair>();
formParams.add(new BasicNameValuePair(“param1″, “李三”));
formParams.add(new BasicNameValuePair(“param2″, “男”));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, “UTF-8″);
MultipartEntity 则与form类型为multipart/form-data 对应,如 html from 如下:
<form action=”http://localhost/index.html” method=”POST”
enctype=”multipart/form-data”>
<input type=”text” name=”param1″ value=”李三”/>
<input type=”text” name=”param2″ value=”男”/>
<input type=”file” name=”param3″/>
<inupt type=”submit” value=”submit”/>
</form>
代码如下:
MultipartEntity entity = new MultipartEntity();
entity.addPart(“param1″, new StringBody(“李三”, Charset.forName(“UTF-8″)));
entity.addPart(“param2″, new StringBody(“男”, Charset.forName(“UTF-8″)));
entity.addPart(“param3″, new FileBody(new File(“C:\\pic.gif”)));
相关文章推荐
- 【网络编程】WebView的使用笔记(一)
- JavaWeb学习(八)---HttpServletResponse对象(二)
- C#获取网络图片
- Firefox访问https出现 ssl_error_weak_server_ephemeral_dh_key错误
- 札记:计算机网络篇:物理层
- libcurl使用认证证书 https认证
- Android Asynchronous Http Client-Android异步网络请求客户端接口
- Linux 下curl模拟Http 的get or post请求
- 如何解决XMLHttpRequest cannot load file~~~~~~~Origin 'null' is therefore not allowed access
- 黑马程序员——网络编程
- 使用xutils请求网络参数为json字符串时报错IOException
- TCP 和 UDP 能否使用相同的端口号?
- http://www.iconfont.cn/
- 网络应用的编程模型
- Android Asynchronous Http Client
- PHP漏洞全解(七)-HTTP响应拆分
- iOS开源项目大全(一)(整理自网络)
- 简单的网络协议介绍
- iOS开源项目大全(二)(整理自网络)
- Android网络编程---HttpURLConnection