개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.22 08:04

curl_errno에 대한 질문

목록
  • MariaDB장인 22시간 전 2025.05.22 08:04 새글
  • 4
    1
제가 curl로 API 요청을 보내고 에러가 발생했을 때, curl_errno를 사용하여 에러를 확인하려고 합니다.
curl_errno는 어떤 종류의 에러를 확인할 수 있는지 알려주세요?
또한, curl_errno를 사용하여 에러를 처리하는 방법도 알려주세요.

    댓글목록

    profile_image
    나우호스팅  22시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 21,596건 / 14 페이지

검색

게시물 검색