
curl_errno는 CURL 라이브러리가 발생시킨 에러를 확인할 수 있는 함수입니다. 이 함수를 사용하여 다양한 종류의 에러를 확인할 수 있습니다.
- CURLE_OK: 성공
- CURLE_COULDNT_CONNECT: 연결 실패
- CURLE_OPERATION_TIMEDOUT: 시간 초과
- CURLE_HTTP_RETURNED_ERROR: HTTP 에러
- CURLE_WRITE_ERROR: 데이터 쓰기 실패
- CURLE_READ_ERROR: 데이터 읽기 실패
- CURLE_URL_MALFORMAT: URL 형식 오류
- CURLE_URL_MALFORMAT_USER: 사용자 입력 URL 형식 오류
- CURLE_COULDNT_RESOLVE_HOST: 호스트 이름 해결 실패
- CURLE_COULDNT_CONNECT_TO_HOST: 호스트 연결 실패
- CURLE_FILE_COULDNT_READ_FILE: 파일 읽기 실패
- CURLE_FILE_COULDNT_WRITE_FILE: 파일 쓰기 실패
- CURLE_LOAD_FILE_FAILED: 파일 로드 실패
- CURLE_FUNCTION_NOT_FOUND: 함수 찾기 실패
- CURLE_ABORTED_BY_CALLBACK: 콜백 함수 중단
- CURLE_BAD_FUNCTION_ARGUMENT: 함수 인자 오류
- CURLE_INTERFACE_FAILED: 인터페이스 실패
- CURLE_TOO_MANY_REDIRECTS: 너무 많은 리다이렉션
- CURLE_UNKNOWN_OPTION: 알려지지 않은 옵션
- CURLE_UNKNOWN_RESPONSE_CODE: 알려지지 않은 HTTP 응답 코드
- CURLE_BAD_CONTENT_ENCODING: 콘텐츠 인코딩 오류
- CURLE_BAD_DOWNLOAD_RESUME: 다운로드 중단 오류
- CURLE_FILESIZE_EXCEEDED: 파일 크기 초과
- CURLE_NO_CONNECTION_AVAILABLE: 연결이 사용 가능하지 않음
- CURLE_SSL_CONNECT_ERROR: SSL 연결 오류
- CURLE_BAD_URL: URL 오류
- CURLE_OPERATION_IN_PROGRESS: 진행 중인 작업
- CURLE_FAILED_INIT: 초기화 실패
- CURLE_URL_MALFORMAT_USER: 사용자 입력 URL 형식 오류
- CURLE_NOT_BUILT_IN: 빌드하지 않은 기능
- CURLE_COULDNT_LOAD_SOCKS_CABLE: SOCKS 케이블 로드 실패
- CURLE_FUNCTION_NOT_IMPLEMENTED: 구현되지 않은 기능
- CURLE_DUP_SOCKET: 중복된 소켓
- CURLE_COULDNT_CALL_CONNECT: 연결 호출 실패
- CURLE_SSL_CACERT: SSL CA 인증서 오류
- CURLE_BAD_PASSWORD_ENTERED: 비밀번호 입력 오류
- CURLE_URL_MALFORMAT: URL 형식 오류
- CURLE_URL_MALFORMAT_USER: 사용자 입력 URL 형식 오류
- CURLE_COULDNT_RESOLVE_PROXY: 프록시 호스트 이름 해결 실패
- CURLE_INVALID_USER_PASSWORD: 사용자 비밀번호 오류
- CURLE_HOST_GLOBAL_BLACKLISTED: 호스트 블랙리스트
- CURLE_COULDNT_CONNECT_TO_HOST: 호스트 연결 실패
- CURLE_SSL_CRL_BADFILE: SSL CRL 파일 오류
- CURLE_SSH: SSH 오류
- CURLE_SSL_PEER_CERTIFICATE: SSL 인증서 오류
curl_errno를 사용하여 에러를 처리하는 방법은 다음과 같습니다.
1. curl_errno 함수를 사용하여 에러 코드를 가져옵니다.
2. switch 문을 사용하여 에러 코드에 따라 처리를 합니다.
3. 에러 코드에 따라 적절한 처리를 합니다.
예를 들어, 다음과 같이 에러 코드를 처리할 수 있습니다.
#hostingforum.kr
php
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
$errno = curl_errno($ch);
switch ($errno) {
case CURLE_OK:
echo "성공";
break;
case CURLE_COULDNT_CONNECT:
echo "연결 실패";
break;
case CURLE_OPERATION_TIMEDOUT:
echo "시간 초과";
break;
default:
echo "알 수 없는 에러";
break;
}
curl_close($ch);
이러한 방법으로 curl_errno를 사용하여 에러를 확인하고 처리할 수 있습니다.
2025-05-22 08:05