PHP

[PHP]CURLOPT_CONNECTTIMEOUT & CURLOPT_TIMEOUT

BeomBe 2024. 1. 19. 12:51
반응형

CURL 세팅 후 사용시에 TIMEOUT 관련해서 차이점을 정리하려고 한다.

 

간단하지만 정확히 알고 넘어가는게 좋다.

 

CURLOPT_CONNECTTIMEOUT은 지정된 서버와 연결까지의 대기 시간을 의미한다.

 

아래 코드를 참고하면, 15초동안 서버와 연결이 되지 않으면 접속을 끊는다.

// CURLOPT_CONNECTTIMEOUT
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

 

CURLOPT_TIMEOUT은 연결 후 n초동안 대기 후에 작업이 종료되지 않으면 강제로 연결을 종료한다.

$ch = curl_init();
$headers["Content-Length"] = strlen($postString);
$headers["User-Agent"] = "Curl/1.0";

curl_setopt($ch, CURLOPT_URL, $requestUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:');
curl_setopt($ch,CURLOPT_TIMEOUT,15);
$response = curl_exec($ch);
curl_close($ch);

 

상황에 따라 CURLOPT_TIMEOUT과 CURLOPT_CONNECTTIMEOUT을 조절해서 쓸 필요가 있다.

반응형