[java] HttpClient의 Timeout 설정을 변경하는 방법은?
HttpClient는 Java에서 HTTP 요청을 보내기 위한 유용한 라이브러리입니다. 그러나 기본적으로 HttpClient의 Timeout 설정은 너무 짧을 수 있습니다. 이때문에 서버로부터 적절한 응답을 받지 못할 수도 있습니다. 따라서 HttpClient의 Timeout 설정을 변경해야 할 때가 있을 것입니다.
이 글에서는 HttpClient의 Timeout 설정을 변경하는 방법을 살펴보겠습니다.
Timeout 설정 변경하기
HttpClient의 Timeout 설정을 변경하려면 RequestConfig
객체를 사용해야 합니다. 아래의 예제 코드를 통해 Timeout 설정을 변경하는 방법을 확인해보세요.
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.HttpClientBuilder;
public class CustomHttpClient {
public static void main(String[] args) {
int timeout = 5000; // Timeout 시간 (밀리초 단위)
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(timeout)
.setConnectionRequestTimeout(timeout)
.setSocketTimeout(timeout)
.build();
HttpClient httpClient = HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
// 여기서부터 HttpClient를 사용한 HTTP 요청 코드 작성
}
}
위의 예제 코드에서 timeout
변수를 통해 변경할 Timeout 시간을 지정합니다. 이 때, 시간은 밀리초 단위로 지정하면 됩니다.
RequestConfig
객체를 생성하고, setConnectTimeout
, setConnectionRequestTimeout
, setSocketTimeout
메서드를 통해 각각 연결 대기 시간, 연결 시간, 소켓 읽기 시간을 설정합니다.
마지막으로, HttpClientBuilder
를 사용하여 HttpClient 객체를 생성하고, setDefaultRequestConfig
메서드를 통해 앞서 생성한 RequestConfig
객체를 설정합니다.