curl_getinfo
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Get information regarding a specific transfer
Description
Gets information about the last transfer.
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
- The last response code. As of PHP 5.5.0 and cURL 7.10.8, this is a legacy alias ofCURLINFO_RESPONSE_CODE
-
CURLINFO_FILETIME
- Remote time of the retrieved document, with theCURLOPT_FILETIME
enabled; 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_FOLLOWLOCATION
option enabled -
CURLINFO_REDIRECT_TIME
- Time in seconds of all redirection steps before final transaction was started, with theCURLOPT_FOLLOWLOCATION
option enabled -
CURLINFO_REDIRECT_URL
- With theCURLOPT_FOLLOWLOCATION
option disabled: redirect URL found in the last transaction, that should be requested manually next. With theCURLOPT_FOLLOWLOCATION
option 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_OUT
option 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_PRIVATE
option 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 opt
is given, returns its value.
Otherwise, returns an associative array with the following elements
(which correspond to opt
), or FALSE
on 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_OUT
is set by a previous call to curl_setopt())
CURLINFO_PRIVATE
option.
Changelog
Version | Description |
---|---|
5.5.0 |
Introduced CURLINFO_RESPONSE_CODE ,
CURLINFO_HTTP_CONNECTCODE ,
CURLINFO_HTTPAUTH_AVAIL ,
CURLINFO_PROXYAUTH_AVAIL ,
CURLINFO_OS_ERRNO ,
CURLINFO_NUM_CONNECTS ,
CURLINFO_SSL_ENGINES ,
CURLINFO_COOKIELIST ,
CURLINFO_FTP_ENTRY_PATH ,
CURLINFO_APPCONNECT_TIME ,
CURLINFO_CONDITION_UNMET ,
CURLINFO_RTSP_CLIENT_CSEQ ,
CURLINFO_RTSP_CSEQ_RECV ,
CURLINFO_RTSP_SERVER_CSEQ and
CURLINFO_RTSP_SESSION_ID .
|
5.4.7 |
Introduced CURLINFO_PRIMARY_IP ,
CURLINFO_PRIMARY_PORT ,
CURLINFO_LOCAL_IP and
CURLINFO_LOCAL_PORT .
|
5.3.7 |
Introduced CURLINFO_REDIRECT_URL .
|
5.3.0 |
Introduced CURLINFO_CERTINFO .
|
5.2.4 |
Introduced CURLINFO_PRIVATE .
|
5.1.3 |
Introduced CURLINFO_HEADER_OUT .
|
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 opt
parameter
<?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);
?>
Vertaling niet beschikbaar
De PHP-handleiding is nog niet in het Nederlands vertaald, dus het scherm is in het Engels. Als u wilt, kunt u het ook in het Frans of in het Duits raadplegen.
Als je de moed voelt, kun je je vertaling aanbieden ;-)
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 30/01/2003 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/php-rf-function.curl-getinfo.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.