|  | 
 
 
  curl_getinfoGet information regarding a specific transfer 
  Description
   mixed curl_getinfo
    ( resource $ch[, int$opt] ) 
  Parameters
    
    
ch
A cURL handle returned by
curl_init.
opt
      
       This may be one of the following constants:
        
        
         
          CURLINFO_EFFECTIVE_URL- Last effective URL
         
          CURLINFO_HTTP_CODE- Last received HTTP code
         
          CURLINFO_FILETIME- Remote time of the retrieved document, with theCURLOPT_FILETIMEenabled; if -1 is returned the time of the document is unknown
         
          CURLINFO_TOTAL_TIME- Total transaction time in seconds for last transfer
         
          CURLINFO_NAMELOOKUP_TIME- Time in seconds until name resolving was complete
         
          CURLINFO_CONNECT_TIME- Time in seconds it took to establish the connection
         
          CURLINFO_PRETRANSFER_TIME- Time in seconds from start until just before file transfer begins
         
          CURLINFO_STARTTRANSFER_TIME- Time in seconds until the first byte is about to be transferred
         
          CURLINFO_REDIRECT_COUNT- Number of redirects, with theCURLOPT_FOLLOWLOCATIONoption enabled
         
          CURLINFO_REDIRECT_TIME- Time in seconds of all redirection steps before final transaction was started, with theCURLOPT_FOLLOWLOCATIONoption enabled
         
          CURLINFO_REDIRECT_URL- With theCURLOPT_FOLLOWLOCATIONoption disabled: redirect URL found in the last transaction, that should be requested manually next. With theCURLOPT_FOLLOWLOCATIONoption enabled: this is empty. The redirect URL in this case is available inCURLINFO_EFFECTIVE_URL
         
          CURLINFO_PRIMARY_IP- IP address of the most recent connection
         
          CURLINFO_PRIMARY_PORT- Destination port of the most recent connection
         
          CURLINFO_LOCAL_IP- Local (source) IP address of the most recent connection
         
          CURLINFO_LOCAL_PORT- Local (source) port of the most recent connection
         
          CURLINFO_SIZE_UPLOAD- Total number of bytes uploaded
         
          CURLINFO_SIZE_DOWNLOAD- Total number of bytes downloaded
         
          CURLINFO_SPEED_DOWNLOAD- Average download speed
         
          CURLINFO_SPEED_UPLOAD- Average upload speed
         
          CURLINFO_HEADER_SIZE- Total size of all headers received
         
          CURLINFO_HEADER_OUT- The request string sent. For this to 
          work, add theCURLINFO_HEADER_OUToption to the handle by calling 
          curl_setopt
         
        CURLINFO_REQUEST_SIZE- Total size of issued requests, currently only for HTTP requests
         
          CURLINFO_SSL_VERIFYRESULT- Result of SSL certification verification requested by settingCURLOPT_SSL_VERIFYPEER
         
          CURLINFO_CONTENT_LENGTH_DOWNLOAD- Content length of download, read from Content-Length: field
         
          CURLINFO_CONTENT_LENGTH_UPLOAD- Specified size of upload
         
          CURLINFO_CONTENT_TYPE- Content-Type: of the requested document. NULL indicates server did not send valid Content-Type: header
         
          CURLINFO_PRIVATE- Private data associated with this cURL handle, previously set with theCURLOPT_PRIVATEoption of curl_setopt
         
          CURLINFO_RESPONSE_CODE- The last response code
         
          CURLINFO_HTTP_CONNECTCODE- The CONNECT response code
         
          CURLINFO_HTTPAUTH_AVAIL- Bitmask indicating the authentication method(s) available according to the previous response
         
          CURLINFO_PROXYAUTH_AVAIL- Bitmask indicating the proxy authentication method(s) available according to the previous response
         
          CURLINFO_OS_ERRNO- Errno from a connect failure. The number is OS and system specific.
         
          CURLINFO_NUM_CONNECTS- Number of connections curl had to create to achieve the previous transfer
         
          CURLINFO_SSL_ENGINES- OpenSSL crypto-engines supported
         
          CURLINFO_COOKIELIST- All known cookies
         
          CURLINFO_FTP_ENTRY_PATH- Entry path in FTP server
         
          CURLINFO_APPCONNECT_TIME- Time in seconds it took from the start until the SSL/SSH connect/handshake to the remote host was completed
         
          CURLINFO_CERTINFO- TLS certificate chain
         
          CURLINFO_CONDITION_UNMET- Info on unmet time conditional
         
          CURLINFO_RTSP_CLIENT_CSEQ- Next RTSP client CSeq
         
          CURLINFO_RTSP_CSEQ_RECV- Recently received CSeq
         
          CURLINFO_RTSP_SERVER_CSEQ- Next RTSP server CSeq
         
          CURLINFO_RTSP_SESSION_ID- RTSP session ID 
  Return Values
   If optis given, returns its value.
   Otherwise, returns an associative array with the following elements 
   (which correspond toopt), orFALSEon failure: 
    
     
      "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" (This is only set if the CURLINFO_HEADER_OUTis set by a previous call to curl_setopt) 
   Note that private data is not included in the associative array and must be retrieved individually with the  CURLINFO_PRIVATE option.
  
  
  Examples
    
    Example #1 curl_getinfo example 
<?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);
 ?>
 
    
    Example #2 curl_getinfo example with optparameter 
<?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);
 ?>
 
  NotesNote: 
    
    Information gathered by this function is kept if the handle is re-used. This means 
    that unless a statistic is overridden internally by this function, the previous info 
    is returned.
   
 |