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을 조절해서 쓸 필요가 있다.
반응형