반응형

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

+ Recent posts