httpclient发送文件

maven坐标

<dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
       <version>4.5.13</version>
</dependency>
<dependency>
     <groupId>org.apache.httpcomponents</groupId>
     <artifactId>httpmime</artifactId>
     <version>4.5.13</version>
</dependency>
              

代码示例

 1   @Test
 2     public void test09() throws IOException {
 3         String requestUrl = "xxxxx";
 4         CloseableHttpClient httpClient = HttpClients.createDefault();
 5         HttpPost httpPost = new HttpPost(requestUrl);
 6         Person person = new Person("强强", "19");
 7         StringBody stringBody = new StringBody(JSONObject.toJSONString(person), ContentType.APPLICATION_JSON);
 8 
 9         MultipartEntityBuilder builder = MultipartEntityBuilder.create();
10         builder.setCharset(Consts.UTF_8); // 设置编码
11         builder.setContentType(ContentType.create("multipart/form-data", Consts.UTF_8)); // 传递文件
12         builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); // 设置浏览器的模式(否则文件名乱码)
13 
14         // 对于普通的表单字段如果含有中文的话,不能通过addTextBody,否则乱码s
15         builder.addBinaryBody("files",
16                 new FileInputStream(new File("强强.txt")),
17                 ContentType.MULTIPART_FORM_DATA,
18                 "强强.txt");
19         builder.addPart("person", stringBody);
20         HttpEntity build = builder.build();
21         httpPost.setEntity(build);
22         CloseableHttpResponse response = httpClient.execute(httpPost);
23         HttpEntity entity = response.getEntity();
24         if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {
25             System.out.println("请求成功!");
26             for (Header header : response.getAllHeaders()) {
27                 System.out.println(header.getName() + "  " + header.getValue());
28 
29             }
30         }
31         // 确保流关闭
32         EntityUtils.consume(entity);
33         response.close();
34         httpClient.close();
35     }

 

httpclient发送文件

上一篇:按键精灵手机版多点找色,图片对比 by <剑行洪荒> 忠哥


下一篇:按键精灵PC端脚本