curl_getinfo

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

curl_getinfoRuft Informationen zu einem bestimmten Transfer ab

Beschreibung

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

Gibt Informationen über den letzen Transfer zurück.

Parameter-Liste

handle

Ein von curl_init() zurückgegebenes cURL-Handle.

option

Dies kann eine der folgenden Konstanten sein:

OptionBeschreibung
CURLINFO_CAINFO Der standardmäßige interne Pfad zur CA-Zertifikatsdatei
CURLINFO_CAPATH Der standardmäßige interne Pfad zum CA-Verzeichnis
CURLINFO_EFFECTIVE_URL Die letzte erfolgreiche URL
CURLINFO_HTTP_CODE Der letzte Antwortcode. Von cURL 7.10.8 an ist dies ein veralteter Alias von CURLINFO_RESPONSE_CODE
CURLINFO_FILETIME Die (Server-) Zeit der letzten Änderung des abgerufenen Dokuments, wenn die Option CURLOPT_FILETIME aktiviert ist; wenn -1 zurückgegeben wird, ist die Zeit unbekannt
CURLINFO_TOTAL_TIME Die Gesamtdauer des letzten Transfers in Sekunden
CURLINFO_NAMELOOKUP_TIME Die Zeit in Sekunden, bis die Auflösung des Hostnamens abgeschlossen war.
CURLINFO_CONNECT_TIME Die Dauer des Verbindungsaufbaus in Sekunden
CURLINFO_PRETRANSFER_TIME Die Zeit in Sekunden zwischen dem Start und dem eigentlichen Beginn des Empfangs
CURLINFO_STARTTRANSFER_TIME Die Zeit in Sekunden bis zur Übertragung des ersten Bytes
CURLINFO_REDIRECT_COUNT Die Anzahl der Weiterleitungen, wenn die Option CURLOPT_FOLLOWLOCATION aktiviert ist
CURLINFO_REDIRECT_TIME Die Zeit in Sekunden, die von allen Weiterleitungsschritten beansprucht wird, bevor der eigentliche Transfer beginnt, wenn die Option CURLOPT_FOLLOWLOCATION aktiviert ist
CURLINFO_REDIRECT_URL Bei deaktivierter CURLOPT_FOLLOWLOCATION-Option: die Weiterleitungs-URL, die in der letzten Transaktion gefunden wurde und als nächstes manuell angefordert werden sollte. Bei aktivierter CURLOPT_FOLLOWLOCATION-Option ist dies immer leer. Die Weiterleitungs-URL ist in diesem Fall in CURLINFO_EFFECTIVE_URL verfügbar
CURLINFO_PRIMARY_IP Die IP-Adresse der jüngsten Verbindung
CURLINFO_PRIMARY_PORT Der Ziel-Port der jüngsten Verbindung
CURLINFO_LOCAL_IP Die lokale (Quell-) IP-Adresse der jüngsten Verbindung
CURLINFO_LOCAL_PORT Der lokale (Quell-) Port der jüngsten Verbindung
CURLINFO_SIZE_UPLOAD Die Anzahl der gesendeten Bytes
CURLINFO_SIZE_DOWNLOAD Die Anzahl der empfangenen Bytes
CURLINFO_SPEED_DOWNLOAD Die durchschnittliche Download-Geschwindigkeit
CURLINFO_SPEED_UPLOAD Die durchschnittliche Upload-Geschwindigkeit
CURLINFO_HEADER_SIZE Die Gesamtgröße aller empfangenen Header
CURLINFO_HEADER_OUT Die gesendete Anfrage. Damit dies funktioniert, muss die Option CURLINFO_HEADER_OUT durch Aufruf von curl_setopt() zum Handle hinzugefügt werden
CURLINFO_REFERER Der Referrer-Header
CURLINFO_REQUEST_SIZE Die Gesamtgröße aller Anfragen; momentan nur für HTTP verfügbar
CURLINFO_RETRY_AFTER Die Information aus dem Retry-After:-Header oder Null, wenn es keinen gültigen Header gibt.
CURLINFO_SSL_VERIFYRESULT Das Ergebnis der Überprüfung des SSL-Zertifikats, angefordert durch das Setzen von CURLOPT_SSL_VERIFYPEER
CURLINFO_CONTENT_LENGTH_DOWNLOAD Die Größe des Downloads, ermittelt aus dem Content-Length:-Header
CURLINFO_CONTENT_LENGTH_UPLOAD Die festgesetzte Größe des Uploads
CURLINFO_CONTENT_TYPE Der Content-Type: des angeforderten Dokuments. NULL zeigt an, dass der Server keinen gültigen Content-Type:-Header gesendet hat
CURLINFO_PRIVATE Private Daten, die zu diesem cURL-Handle gehören und zuvor mit der Option CURLOPT_PRIVATE der Funktion curl_setopt() gesetzt wurden
CURLINFO_PROXY_ERROR Der detaillierte (SOCKS) Proxy-Fehlercode, wenn bei der letzten Übertragung ein CURLE_PROXY-Fehler aufgetreten ist. Der zurückgegebene Wert ist genau einer der CURLPX_*-Werte. Wenn kein Antwortcode verfügbar ist, lautet der Fehlercode CURLPX_OK.
CURLINFO_RESPONSE_CODE Der letzte Antwortcode
CURLINFO_HTTP_CONNECTCODE Der CONNECT-Antwortcode
CURLINFO_HTTPAUTH_AVAIL Eine Bitmaske, die die verfügbaren Authentifizierungsmethode(n) gemäß der vorherigen Antwort anzeigt
CURLINFO_PROXYAUTH_AVAIL Eine Bitmaske, die die verfügbaren Proxy-Authentifikationsmethode(n) gemäß der vorherigen Antwort anzeigt
CURLINFO_OS_ERRNO Die Fehlernummer (Errno) eines Verbindungsfehlers. Die Zahl ist OS- und systemabhängig.
CURLINFO_NUM_CONNECTS Die Anzahl der Verbindungen, die cURL erzeugen musste, um die vorherigen Übertragung durchzuführen
CURLINFO_SSL_ENGINES Die unterstützten OpenSSL-Crypto-Engines
CURLINFO_COOKIELIST Alle bekannten Cookies
CURLINFO_FTP_ENTRY_PATH Der Entry-Pfad des FTP-Servers
CURLINFO_APPCONNECT_TIME Die Zeitdauer in Sekunden, die bis zum SSL/SSH-Verbindungsaufbau/Handshake zum entfernten Server verstrichen ist
CURLINFO_CERTINFO Die TLS-Zertifikatskette
CURLINFO_CONDITION_UNMET Die Info über eine nicht eingehaltene Zeitbedingung
CURLINFO_RTSP_CLIENT_CSEQ Die nächste CSeq des RTSP-Clients
CURLINFO_RTSP_CSEQ_RECV Die zuletzt empfangene CSeq
CURLINFO_RTSP_SERVER_CSEQ Die nächste CSeq des RTSP-Servers
CURLINFO_RTSP_SESSION_ID Die RTSP-Session-ID
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T Die inhaltliche Länge des Downloads. Das ist der Wert, der aus dem Content-Length:-Feld gelesen wurde. -1, wenn die Größe nicht bekannt ist
CURLINFO_CONTENT_LENGTH_UPLOAD_T Die angegebene Größe des Uploads. -1, wenn die Größe nicht bekannt ist
CURLINFO_HTTP_VERSION Die Version, die in der letzten HTTP-Verbindung verwendet wurde. Der Rückgabewert ist eine der definierten CURL_HTTP_VERSION_*-Konstanten oder 0, wenn die Version nicht ermittelt werden kann
CURLINFO_PROTOCOL Das Protokoll, das in der letzten HTTP-Verbindung verwendet wurde. Der Rückgabewert ist genau einer der CURLPROTO_*-Werte
CURLINFO_PROXY_SSL_VERIFYRESULT Das Ergebnis der Zertifikatsprüfung, die angefordert wurde (durch Verwendung der Option CURLOPT_PROXY_SSL_VERIFYPEER). Wird nur für HTTPS-Proxies verwendet
CURLINFO_SCHEME Das URL-Schema, das für die jüngste Verbindung verwendet wurde
CURLINFO_SIZE_DOWNLOAD_T Die Gesamtanzahl von Bytes, die heruntergeladen wurden. Die Anzahl betrifft nur die letzte Übertragung, und wird für jede neue Übertragung zurückgesetzt
CURLINFO_SIZE_UPLOAD_T Die Gesamtanzahl von Bytes, die hochgeladen wurden
CURLINFO_SPEED_DOWNLOAD_T Die durchschnittliche Download-Geschwindigkeit in Bytes pro Sekunde, die CURL für den vollständigen Download gemessen hat
CURLINFO_SPEED_UPLOAD_T Die durchschnittliche Upload-Geschwindigkeit in Bytes pro Sekunde, die CURL für den vollständigen Upload gemessen hat
CURLINFO_APPCONNECT_TIME_T Die Zeit in Mikrosekunden, die vom Beginn bis zur Vollendung der SSL/SSH-Verbindung/des Handshakes zum Remote-Host vergangen ist
CURLINFO_CONNECT_TIME_T Die Gesamtdauer in Mikrosekunden, vom Beginn bis zur Vollendung der Verbindung zum Remote-Host (oder Proxy)
CURLINFO_FILETIME_T Die letzte Änderung des abgerufenen Dokuments (als Unix-Zeitstempel); eine Alternative zu CURLINFO_FILETIME, die es Systemen mit 32-Bit-Ganzzahlvariablen ermöglicht, Daten außerhalb des 32-Bit-Zeitstempelbereichs zu extrahieren
CURLINFO_NAMELOOKUP_TIME_T Die Dauer in Mikrosekunden vom Beginn bis zur Vervollständigung der Namensauflösung
CURLINFO_PRETRANSFER_TIME_T Die benötigte Zeit vom Beginn bis zum eigentlichen Beginn der Dateiübertragung in Mikrosekunden
CURLINFO_REDIRECT_TIME_T Die Gesamtdauer in Mikrosekunden für alle Weiterleitungsschritte einschließlich Namenslookup, Verbindung, Vorübertragung und Übertragung, bis zum Beginn der eigentlichen Transaktion
CURLINFO_STARTTRANSFER_TIME_T Die benötigte Zeit in Mikrosekunden vom Beginn bis zum Empfang des ersten Bytes
CURLINFO_TOTAL_TIME_T Die Gesamtdauer in Mikrosekunden für die vorhergehende Übertragung einschließlich Namensauflösung, TCP-Verbindung usw.

Rückgabewerte

Wird der Parameter option angegeben, wird der entsprechende Wert zurückgegeben. Andernfalls liefert die Funktion ein assoziatives Array mit den folgenden Elementen zurück (analog zum Parameter option), oder false im Fehlerfall:

  • "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" (Dies ist nur gesetzt, wenn die Option CURLINFO_HEADER_OUT durch einen vorherigen Aufruf von curl_setopt() gesetzt wurde)
Es ist zu beachten, dass private Daten nicht im assoziativen Array enthalten sind, sondern individuell mit der Option CURLINFO_PRIVATE abgerufen werden müssen.

Beispiele

Beispiel #1 curl_getinfo()-Beispiel

<?php
// Eine cURL-Ressource erstellen
$ch = curl_init('http://www.example.com/');

// ausführen
curl_exec($ch);

// prüfen, ob ein Fehler aufgetreten ist
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo
'Es wurden ', $info['total_time'], ' Sekunden benötigt für eine Anfrage an ', $info['url'], "\n";
}

// Ressource schliessen
curl_close($ch);
?>

Beispiel #2 curl_getinfo()-Beispiel mit dem Parameter option

<?php
// Eine cURL-Ressource erstellen
$ch = curl_init('http://www.example.com/');

// ausführen
curl_exec($ch);

// HTTP-Status-Code prüfen
if (!curl_errno($ch)) {
switch (
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case
200: # OK
break;
default:
echo
'Unerwarteter HTTP-Code: ', $http_code, "\n";
}
}

// Ressource schliessen
curl_close($ch);
?>

Anmerkungen

Hinweis:

Informationen, die mit dieser Funktion gesammelt wurden, bleiben erhalten, wenn das Handle wiederverwendet wird. Das bedeutet, dass außer wenn eine Statistik intern von dieser Funktion überschrieben wird, die vorherige Info zurückgegeben wird.

To Top