HttpClient发送http请求以及上传文件
来源:互联网 发布:手机版淘宝怎么开店 编辑:程序博客网 时间:2024/05/17 09:38
1.封装请求体
封装普通请求体
private UrlEncodedFormEntity getUrlEntry(Map<String, Object> param) throws UnsupportedEncodingException { List<NameValuePair> params = new ArrayList<NameValuePair>(); Iterator<String> iterator = param.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); params.add(new BasicNameValuePair(key, (String) param.get(key))); } UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(params, "UTF-8"); return uefEntity; }
封装上传文件请求体
private MultipartEntity getMutipartEntry(Map<String, Object> param, File file) throws UnsupportedEncodingException { if (file == null) { throw new IllegalArgumentException("文件不能为空"); } FileBody fileBody = new FileBody(file); FormBodyPart filePart = new FormBodyPart("file", fileBody); MultipartEntity multipartEntity = new MultipartEntity(); multipartEntity.addPart(filePart); Iterator<String> iterator = param.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); FormBodyPart field = new FormBodyPart(key, new StringBody((String) param.get(key))); multipartEntity.addPart(field); } return multipartEntity; }
2.发送请求
发送普通请求
public String postUrl(String url,Map<String, Object> param) throws ClientProtocolException, IOException { String res = null; CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httppost = new HttpPost(url); UrlEncodedFormEntity uefEntity = getUrlEntry(param); httppost.setEntity(uefEntity); CloseableHttpResponse response = httpClient.execute(httppost); HttpEntity entity = response.getEntity(); if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { res = EntityUtils.toString(entity, "UTF-8"); response.close(); } else { res = EntityUtils.toString(entity, "UTF-8"); response.close(); throw new IllegalArgumentException(res); } return res; }
发送上传文件请求
public String postFile(String url,Map<String, Object> param, File file) throws ClientProtocolException, IOException { String res = null; CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httppost = new HttpPost(url); httppost.setEntity(getMutipartEntry(param,file)); CloseableHttpResponse response = httpClient.execute(httppost); HttpEntity entity = response.getEntity(); if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { res = EntityUtils.toString(entity, "UTF-8"); response.close(); } else { res = EntityUtils.toString(entity, "UTF-8"); response.close(); throw new IllegalArgumentException(res); } return res; }
0 0
- HttpClient发送http请求以及上传文件
- httpClient 发送 http请求
- HTTPClient发送http请求
- HttpClient 发送HTTP请求
- Httpclient发送http请求
- HttpClient发送HTTP请求
- HttpClient请求接口上传文件以及参数
- Java 发送http请求,上传文件
- Socket实现发送Http请求上传文件
- HttpClient模拟发送http请求
- HttpClient 发送 HTTP、HTTPS 请求
- HttpClient发送HTTP请求详解
- httpclient 以及 urlConnection 发送请求
- Android 发送HTTP GET POST 请求以及通过 MultipartEntityBuilder 上传文件
- Android 发送HTTP GET POST 请求以及通过 MultipartEntityBuilder 上传文件(二)
- C# Webbrowser中发送http请求,上传文件
- VC++ 用WinInet发送HTTP请求和上传文件
- 使用Python发送http post请求上传文件
- phpStorm使用总结
- c++作业3
- 深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_3)
- .text .global _start和_start:是什么意思?
- Centos安装tomcat并且部署项目
- HttpClient发送http请求以及上传文件
- Android Studio2.3.1查看gradle版本
- 路由器逆向分析------QEMU的基本使用方法(MIPS)
- LeetCode037 Sudoku Solver
- C#多线程编程
- springmvc时间类型提交转换的问题
- Python 文件基本操作
- matlab中的Sobel算子C程序源码
- Liunx下的Oracle备份