반응형
pom.xml
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.10</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.10</version>
</dependency>
HttpClient 기본 예제
CloseableHttpClient client = HttpClients
.custom()
.disableAuthCaching()
.disableAutomaticRetries()
.disableConnectionState()
.disableContentCompression()
.disableCookieManagement()
.disableDefaultUserAgent()
.disableRedirectHandling()
.useSystemProperties()
.build();
HttpUriRequest request = RequestBuilder
.create("GET")
.setUri("http://localhost:8080/api/get")
.build();
CloseableHttpResponse response = client.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
String body = EntityUtils.toString(response.getEntity());
System.out.println(statusCode);
System.out.println(body);
get 요청
HttpUriRequest request = RequestBuilder
.create("GET")
.setUri("http://localhost:8080/api/get")
.addHeader("my-header", "my-header-11")
.addParameter("myParam", "myParam11")
.build();
CloseableHttpResponse response = client.execute(request);
post 요청
HttpUriRequest request = RequestBuilder
.create("POST")
.setUri("http://localhost:8080/api/post")
.addHeader("my-header", "my-header-11")
.addParameter("myParam", "myParam11")
.setEntity(new StringEntity("Hello World", StandardCharsets.UTF_8))
.build();
CloseableHttpResponse response = client.execute(request);
multipart 요청
File file = new File("C:/test.jpg");
HttpEntity entity = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addPart("multipartParam", new StringBody("multipartParam111", ContentType.MULTIPART_FORM_DATA))
.addPart("files", new FileBody(file, ContentType.DEFAULT_BINARY))
.build();
HttpUriRequest request = RequestBuilder
.create("POST")
.setUri("http://localhost:8080/api/multipart")
.addHeader("my-header", "my-header-11")
.addParameter("basicParam", "basicParam111")
.setEntity(entity)
.build();
CloseableHttpResponse response = client.execute(request);
반응형
'Development > Java' 카테고리의 다른 글
[Java] 명령어 (0) | 2020.12.28 |
---|---|
[Java] Selenium (0) | 2020.12.28 |
[Java] JWT(Json Web Token) (0) | 2020.12.28 |
[Java] Markdown 파싱 (0) | 2020.12.28 |
[Java] VisualVM 사용하기 (0) | 2019.09.30 |