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_OUT
이 curl_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);
?>
메모
메모: 이 함수로 수집한 정보는 핸들을 재사용할 경우 보관됩니다. 이것은 통계가 이 함수에 의해 내부적으로 재정의되지 않는 한 이전 정보가 반환됨을 의미합니다.