HttpClient(五)-- 模拟表单上传文件
2017-09-17 17:25
471 查看
1.maven依赖
2.代码实现
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.2</version> </dependency>
2.代码实现
import java.io.File; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class HttpClientUpload { public static void main(String[] args) { // 将 fileUrl 上传到 url中,上传成功后,返回 下载地址 String url = "http://127.0.0.1:8080/Joe/upload"; String fileUrl = "C:/abc.txt"; try { System.out.println(post(url, "file", new File(fileUrl))); } catch (Exception e) { e.printStackTrace(); } } /** * post:(上传). * * @author Joe Date:2017年9月11日下午5:37:46 * @param serverUrl * @param fileParamName * @param file * @return * @throws ClientProtocolException * @throws IOException */ public static String post(String serverUrl, String fileParamName, File file) throws ClientProtocolException, IOException { HttpPost httpPost = new HttpPost(serverUrl); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); // 上传的文件 builder.addBinaryBody(fileParamName, file); HttpEntity httpEntity = builder.build(); httpPost.setEntity(httpEntity); // 请求获取数据的超时时间 、 设置从connect // Manager获取Connection超时时间(因为目前版本是可以共享连接池的)、设置连接超时时间 RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(10000).setConnectionRequestTimeout(3000) .setConnectTimeout(10000).build(); httpPost.setConfig(requestConfig); HttpClient httpClient = HttpClients.createDefault(); HttpResponse response = httpClient.execute(httpPost); return EntityUtils.toString(response.getEntity()); } }
相关文章推荐
- HttpClient4.5.2模拟表单post提交上传文件
- HTTPCLIENT POST 模拟有上传文件和文本字段的动态表单
- HttpClient使用post方式模拟表单提交数据到服务器并下载服务器文件
- HttpClient https上传文件与form表单
- HttpClient 4.3.6 使用MultipartEntityBuilder实现类似form表单提交方式的文件上传
- 利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)
- [android]模拟Http表单,实现本地文件(图片等)上传到服务器端
- httpClient 使用multipart/form-data 类型上传文件及表单
- Net模拟http表单文件上传
- Java Web 学习笔记之三: HttpURLConnection 模拟表单上传文件
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- 使用httpClient MultipartRequestEntity文件上传解析文件和普通表单参数
- asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- 利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)
- CloseableHttpClient https上传文件与form表单
- httpurlconnection模拟post提交form表单(普通文本和上传文件) (