cURL curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

curl_getinfo — 특정 전송에 대한 정보 얻기


설명

curl_getinfo(CurlHandle $handle, ?int $option = null): mixed

마지막 전송에 대한 정보를 가져옵니다.


매개변수

handle
curl_init()에서 반환된 cURL 핸들입니다.
option
다음 상수 중 하나일 수 있습니다.
  • CURLINFO_EFFECTIVE_URL - 마지막 유효 URL
  • CURLINFO_HTTP_CODE - 마지막 응답 코드입니다. cURL 7.10.8부터 이것은 CURLINFO_RESPONSE_CODE의 레거시 별칭입니다.
  • CURLINFO_FILETIME - CURLOPT_FILETIME이 활성화된 검색된 문서의 원격 시간. -1이 반환되면 문서의 시간을 알 수 없음
  • CURLINFO_TOTAL_TIME - 마지막 전송의 총 트랜잭션 시간(초)
  • CURLINFO_NAMELOOKUP_TIME - 이름 확인이 완료될 때까지의 시간(초)
  • CURLINFO_CONNECT_TIME - 연결을 설정하는 데 걸린 시간(초)
  • CURLINFO_PRETRANSFER_TIME - 시작부터 파일 전송이 시작되기 직전까지의 시간(초)
  • CURLINFO_STARTTRANSFER_TIME - 첫 번째 바이트가 전송될 때까지의 시간(초)
  • CURLINFO_REDIRECT_COUNT - CURLOPT_FOLLOWLOCATION 옵션이 활성화된 리디렉션 수
  • CURLINFO_REDIRECT_TIME - CURLOPT_FOLLOWLOCATION 옵션이 활성화된 상태에서 최종 트랜잭션이 시작되기 전의 모든 리디렉션 단계의 시간(초)
  • CURLINFO_REDIRECT_URL - CURLOPT_FOLLOWLOCATION 옵션이 비활성화된 경우: 마지막 트랜잭션에서 찾은 리디렉션 URL, 다음에 수동으로 요청해야 합니다. CURLOPT_FOLLOWLOCATION 옵션이 활성화된 경우: 비어 있습니다. 이 경우 리디렉션 URL은 CURLINFO_EFFECTIVE_URL에서 사용할 수 있습니다.
  • CURLINFO_PRIMARY_IP - 가장 최근 연결의 IP 주소
  • CURLINFO_PRIMARY_PORT - 가장 최근 연결의 대상 포트
  • CURLINFO_LOCAL_IP - 가장 최근 연결의 로컬(소스) IP 주소
  • CURLINFO_LOCAL_PORT - 가장 최근 연결의 로컬(소스) 포트
  • CURLINFO_SIZE_UPLOAD - 업로드된 총 바이트 수
  • CURLINFO_SIZE_DOWNLOAD - 다운로드된 총 바이트 수
  • CURLINFO_SPEED_DOWNLOAD - 평균 다운로드 속도
  • CURLINFO_SPEED_UPLOAD - 평균 업로드 속도
  • CURLINFO_HEADER_SIZE - 수신된 모든 헤더의 총 크기
  • CURLINFO_HEADER_OUT - 요청 문자열이 전송되었습니다. 이것이 작동하려면 curl_setopt()를 호출하여 핸들에 CURLINFO_HEADER_OUT 옵션을 추가하십시오.
  • CURLINFO_REQUEST_SIZE - 발행된 요청의 총 크기(현재 HTTP 요청에만 해당)
  • CURLINFO_SSL_VERIFYRESULT - CURLOPT_SSL_VERIFYPEER를 설정하여 요청한 SSL 인증 확인 결과
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - Content-Length: 필드에서 읽은 다운로드 콘텐츠 길이
  • CURLINFO_CONTENT_LENGTH_UPLOAD - 지정된 업로드 크기
  • CURLINFO_CONTENT_TYPE - Content-Type: 요청된 문서의. NULL은 서버가 유효한 Content-Type: 헤더를 보내지 않았음을 나타냅니다.
  • CURLINFO_PRIVATE - 이전에 curl_setopt()CURLOPT_PRIVATE 옵션으로 설정한 이 cURL 핸들과 연결된 개인 데이터
  • CURLINFO_RESPONSE_CODE - 마지막 응답 코드
  • CURLINFO_HTTP_CONNECTCODE - CONNECT 응답 코드
  • CURLINFO_HTTPAUTH_AVAIL - 이전 응답에 따라 사용 가능한 인증 메서드를 나타내는 비트마스크
  • CURLINFO_PROXYAUTH_AVAIL - 이전 응답에 따라 사용 가능한 프록시 인증 메서드를 나타내는 비트마스크
  • CURLINFO_OS_ERRNO - 연결 실패로 인한 오류 번호. 번호는 OS 및 시스템에 따라 다릅니다.
  • CURLINFO_NUM_CONNECTS - 이전 전송을 달성하기 위해 curl이 생성해야 하는 연결 수
  • CURLINFO_SSL_ENGINES - OpenSSL 암호화 엔진 지원
  • CURLINFO_COOKIELIST - 알려진 모든 쿠키
  • CURLINFO_FTP_ENTRY_PATH - FTP 서버의 진입 경로
  • CURLINFO_APPCONNECT_TIME - 시작부터 원격 호스트에 대한 SSL/SSH 연결/핸드셰이크가 완료될 때까지 걸린 시간(초)
  • CURLINFO_CERTINFO - TLS 인증서 체인
  • CURLINFO_CONDITION_UNMET - 조건부 충족되지 않은 시간에 대한 정보
  • CURLINFO_RTSP_CLIENT_CSEQ - Next RTSP client CSeq
  • CURLINFO_RTSP_CSEQ_RECV - 최근에 받은 CSeq
  • CURLINFO_RTSP_SERVER_CSEQ - Next RTSP server CSeq
  • CURLINFO_RTSP_SESSION_ID - RTSP session ID
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD_T - 다운로드의 콘텐츠 길이입니다. Content-Type: 필드에서 읽은 값입니다. -1 크기를 알 수 없는 경우
  • CURLINFO_CONTENT_LENGTH_UPLOAD_T - 업로드의 지정된 크기입니다. -1 크기를 알 수 없는 경우
  • CURLINFO_HTTP_VERSION - 마지막 HTTP 연결에 사용된 버전입니다. 반환 값은 정의된 CURL_HTTP_VERSION_* 상수 중 하나이거나 버전을 확인할 수 없는 경우 0입니다.
  • CURLINFO_PROTOCOL - 마지막 HTTP 연결에 사용된 프로토콜입니다. 반환된 값은 정확히 CURLPROTO_* 값 중 하나입니다.
  • CURLINFO_PROXY_SSL_VERIFYRESULT - 요청된 인증서 확인 결과(CURLOPT_PROXY_SSL_VERIFYPEER 옵션 사용). HTTPS 프록시에만 사용
  • CURLINFO_SCHEME - 가장 최근 연결에 사용된 URL 체계
  • CURLINFO_SIZE_DOWNLOAD_T - 다운로드된 총 바이트 수입니다. 이 번호는 최근 이체에만 해당되며 새 이체할 때마다 다시 재설정됩니다.
  • CURLINFO_SIZE_UPLOAD_T - 업로드된 총 바이트 수
  • CURLINFO_SPEED_DOWNLOAD_T - 전체 다운로드에 대해 측정된 curl의 평균 다운로드 속도(바이트/초)
  • CURLINFO_SPEED_UPLOAD_T - 전체 업로드에 대해 측정된 curl의 평균 업로드 속도(바이트/초)
  • CURLINFO_APPCONNECT_TIME_T - 시작부터 원격 호스트에 대한 SSL/SSH 연결/핸드셰이크가 완료될 때까지 걸린 시간(마이크로초)
  • CURLINFO_CONNECT_TIME_T - 시작부터 원격 호스트(또는 프록시)에 대한 연결이 완료될 때까지 걸린 총 시간(마이크로초)
  • CURLINFO_FILETIME_T - 검색된 문서의 원격 시간(Unix 타임스탬프), CURLINFO_FILETIME의 대안으로 32비트 길이의 변수가 있는 시스템에서 32비트 타임스탬프 범위 밖의 날짜를 추출할 수 있습니다.
  • CURLINFO_NAMELOOKUP_TIME_T - 시작부터 이름 확인이 완료될 때까지의 시간(마이크로초)
  • CURLINFO_PRETRANSFER_TIME_T - 시작부터 파일 전송이 막 시작될 때까지 걸린 시간(마이크로초)
  • CURLINFO_REDIRECT_TIME_T - 최종 트랜잭션이 시작되기 전에 이름 조회, 연결, 사전 전송 및 전송을 포함한 모든 리디렉션 단계에 소요된 총 시간(마이크로초)
  • CURLINFO_STARTTRANSFER_TIME_T - 시작부터 첫 번째 바이트가 수신될 때까지 걸린 시간(마이크로초)
  • CURLINFO_TOTAL_TIME_T - 이름 확인, TCP 연결 등을 포함하여 이전 전송에 대한 총 시간(마이크로초)입니다.

반환 값

option이 주어지면 그 값을 반환합니다. 그렇지 않으면 다음 요소(option에 해당)가 있는 연관 배열을 반환하거나 실패 시 false를 반환합니다.

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "primary_ip"
  • "primary_port"
  • "local_ip"
  • "local_port"
  • "redirect_url"
  • "request_header" (이것은 CURLINFO_HEADER_OUTcurl_setopt()에 대한 이전 호출에 의해 설정된 경우에만 설정됩니다.)

개인 데이터는 연관 배열에 포함되지 않으며 CURLINFO_PRIVATE 옵션을 사용하여 개별적으로 검색해야 합니다.


변경 로그

버전 설명
8.0.0 handle은 이제 CurlHandle 인스턴스를 예상합니다. 이전에는 리소스가 필요했습니다.
8.0.0 option은 옵션은 이제 nullable입니다. 이전에는 기본값이 0이었습니다.
7.3.0 Introduced CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CURLINFO_CONTENT_LENGTH_UPLOAD_T, CURLINFO_HTTP_VERSION, CURLINFO_PROTOCOL, CURLINFO_PROXY_SSL_VERIFYRESULT, CURLINFO_SCHEME, CURLINFO_SIZE_DOWNLOAD_T, CURLINFO_SIZE_UPLOAD_T, CURLINFO_SPEED_DOWNLOAD_T, CURLINFO_SPEED_UPLOAD_T, CURLINFO_APPCONNECT_TIME_T, CURLINFO_CONNECT_TIME_T, CURLINFO_FILETIME_T, CURLINFO_NAMELOOKUP_TIME_T, CURLINFO_PRETRANSFER_TIME_T, CURLINFO_REDIRECT_TIME_T, CURLINFO_STARTTRANSFER_TIME_T, CURLINFO_TOTAL_TIME_T.

Examples

예제 #1 curl_getinfo() 예제

                  
<?php
// Create a cURL handle
$ch = curl_init('http://www.example.com/');

// Execute
curl_exec($ch);

// Check if any error occurred
if (!curl_errno($ch)) {
  $info = curl_getinfo($ch);
  echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
}

// Close handle
curl_close($ch);
?>
                  
                

예제 #2 option 매개변수가 있는 curl_getinfo() 예제

                  
<?php
// Create a cURL handle
$ch = curl_init('http://www.example.com/');

// Execute
curl_exec($ch);

// Check HTTP status code
if (!curl_errno($ch)) {
  switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
      break;
    default:
      echo 'Unexpected HTTP code: ', $http_code, "\n";
  }
}

// Close handle
curl_close($ch);
?>
                  
                

메모

메모: 이 함수로 수집한 정보는 핸들을 재사용할 경우 보관됩니다. 이것은 통계가 이 함수에 의해 내부적으로 재정의되지 않는 한 이전 정보가 반환됨을 의미합니다.