package org.llgc; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.FileEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; public class Client { public static void main(String[] args) throws IOException { try (CloseableHttpClient httpclient = HttpClients.createDefault()) { // GET HttpGet httpGet = new HttpGet("http://httpbin.org/get"); try (CloseableHttpResponse response1 = httpclient.execute(httpGet)) { System.out.println(response1.getStatusLine()); HttpEntity entity1 = response1.getEntity(); System.out.println(entity1.getContentType()); System.out.println(new BufferedReader(new InputStreamReader(entity1.getContent())).lines().parallel() .collect(Collectors.joining("\n"))); EntityUtils.consume(entity1); } // POST // Avec deux valeurs (username et password) dans le formulaire. HttpPost httpPostForm = new HttpPost("http://httpbin.org/post"); List nvps = new ArrayList(); nvps.add(new BasicNameValuePair("username", "vip")); nvps.add(new BasicNameValuePair("password", "secret")); httpPostForm.setEntity(new UrlEncodedFormEntity(nvps)); try (CloseableHttpResponse response2 = httpclient.execute(httpPostForm)) { System.out.println(response2.getStatusLine()); HttpEntity entity2 = response2.getEntity(); System.out.println(entity2.getContentType()); System.out.println(new BufferedReader(new InputStreamReader(entity2.getContent())).lines().parallel() .collect(Collectors.joining("\n"))); EntityUtils.consume(entity2); } // POST // Avec deux valeurs (username et password) dans le formulaire. HttpPost httpPostFile = new HttpPost("http://httpbin.org/post"); httpPostFile.setEntity(new FileEntity(new File("/tmp/test"), ContentType.TEXT_PLAIN)); try (CloseableHttpResponse response2 = httpclient.execute(httpPostFile)) { System.out.println(response2.getStatusLine()); HttpEntity entity2 = response2.getEntity(); System.out.println(entity2.getContentType()); System.out.println(new BufferedReader(new InputStreamReader(entity2.getContent())).lines().parallel() .collect(Collectors.joining("\n"))); EntityUtils.consume(entity2); } } } }