(PHP 4 >= 4.0.4, PHP 5, PHP 7)
curl_getinfo — Informationen zu einem bestimmten Transfer abfragen
Gibt Informationen über den letzen Transfer zurück.
ch
Ein von curl_init() zurückgegebenes cURL-Handle.
opt
Eine der folgenden Konstanten:
CURLINFO_EFFECTIVE_URL
- Letzter effektiver URL
CURLINFO_HTTP_CODE
- Der letzte Response-Code.
Von PHP 5.5.0 und cURL 7.10.8 an ist dies ein veralteter Alias von
CURLINFO_RESPONSE_CODE
CURLINFO_FILETIME
- Letzte Änderung des Dokuments, bei aktivierter CURLOPT_FILETIME
Option; wenn -1 zurückgegeben wird ist die Zeit unbekannt
CURLINFO_TOTAL_TIME
- Gesamtdauer des letzten Transfers in Sekunden
CURLINFO_NAMELOOKUP_TIME
- Zeit in Sekunden zur Auflösung des Hostnamens
CURLINFO_CONNECT_TIME
- Dauer des Verbindungsaufbaus in Sekunden
CURLINFO_PRETRANSFER_TIME
- Zeit in Sekunden zwischen dem Start und dem eigentlichen Beginn des Empfangs
CURLINFO_STARTTRANSFER_TIME
- Zeit in Sekunden bis zur Übertragung des ersten Bytes
CURLINFO_REDIRECT_COUNT
- Anzahl der Weiterleitungen,
bei aktivierter CURLOPT_FOLLOWLOCATION
Option
CURLINFO_REDIRECT_TIME
- Zeit in Sekunden, die von allen Umleitungsschritten
beansprucht wird, bevor der eigentliche Transfer beginnt
CURLINFO_REDIRECT_URL
-
Bei deaktivierter CURLOPT_FOLLOWLOCATION
:
die Weiterleitungs-URL, die in der letzten Transaktion gefunden wurde,
und die 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
- Ziel-Port der jüngsten Verbindung
CURLINFO_LOCAL_IP
- lokale (Quell-) IP-Adresse der jüngsten Verbindung
CURLINFO_LOCAL_PORT
- lokaler (Quell-) Port der jüngsten Verbindung
CURLINFO_SIZE_UPLOAD
- Anzahl der gesendeten Bytes
CURLINFO_SIZE_DOWNLOAD
- Anzahl der empfangenen Bytes
CURLINFO_SPEED_DOWNLOAD
- Durchschnittliche Download-Geschwindigkeit
CURLINFO_SPEED_UPLOAD
- Durchschnittliche Upload-Geschwindigkeit
CURLINFO_HEADER_SIZE
- Gesamtgröße aller empfangenen Header
CURLINFO_HEADER_OUT
- Der gesendete Request.
Damit dies funktioniert, muss die CURLINFO_HEADER_OUT
Option
durch Aufruf von curl_setopt() zum Handle hinzugefügt werden
CURLINFO_REQUEST_SIZE
- Gesamtgröße aller Abfragen, momentan nur für HTTP verfügbar
CURLINFO_SSL_VERIFYRESULT
- Ergebnis der SSL-Zertifikat-Überprüfung,
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
- Festgesetzte Größe des Uploads
CURLINFO_CONTENT_TYPE
- Content-Type:
des angeforderten Dokuments.
NULL zeigt an, dass der Server keinen gültigen Content-Type:
Header gesendet hat
CURLINFO_PRIVATE
- Private Daten, die mit diesem cURL Handle zugehörig sind,
und die zuvor mit der CURLOPT_PRIVATE
Option von curl_setopt() gesetzt wurden
CURLINFO_RESPONSE_CODE
- Der letzte Response-Code
CURLINFO_HTTP_CONNECTCODE
- Der CONNECT Response-Code
CURLINFO_HTTPAUTH_AVAIL
- Eine Bitmaske, die die verfügbaren
Authentifikationsmethode(n) gemäß der vorherigen Response anzeigt
CURLINFO_PROXYAUTH_AVAIL
- Eine Bitmaske, die die verfügbaren
Proxy-Authentifikationsmethode(n) gemäß der vorherigen Response anzeigt
CURLINFO_OS_ERRNO
- 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
- Entry-Pfad des FTP-Server
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
- 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 Länge des Download-Rumpfs. Das ist der Wert, der aus dem Content-Type:
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 CURLOPT_PROXY_SSL_VERIFYPEER
Option). 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 des SSL/SSH-Verbindung/Handshake 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
- 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
- Dauer in Mikrosekunden vom Beginn bis zur Vervollständigung der Namensauflösung
CURLINFO_PRETRANSFER_TIME_T
- benötigte Zeit vom Beginn bis zum eigentlichen Beginn der Dateiübertragung
CURLINFO_REDIRECT_TIME_T
- 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
- benötigte Zeit in Mikrosekunden vom Beginn bis zum Empfang des ersten Bytes
CURLINFO_TOTAL_TIME_T
- Gesamtdauer in Mikrosekunden für die vorhergehende Übertragung, einschließlich Namensauflösung, TCP-Verbindung usw.
Wird der Parameter opt
angegeben, wird der entsprechende
Wert zurückgegeben. Andernfalls liefert die Funktion ein assoziatives
Array mit den folgenden Elementen zurück (analog dem Parameter opt
),
oder FALSE
im Fehlerfall:
CURLINFO_HEADER_OUT
durch einen vorherigen Aufruf von curl_setopt() gesetzt wurde)
CURLINFO_PRIVATE
Option abgerufen werden müssen.
Version | Beschreibung |
---|---|
7.3.0 |
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 eingeführt.
|
Beispiel #1 curl_getinfo()-Beispiel
<?php
// Eine cURL-Resource 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 einen Request an ' . $info['url'];
}
// Resource schliessen
curl_close($ch);
?>
Beispiel #2 curl_getinfo()-Beispiel mit opt
Parameter
<?php
// Eine cURL-Resource 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 'Unerwarter HTTP-Code: ', $http_code, "\n";
}
}
// Resource schliessen
curl_close($ch);
?>
Hinweis:
Informationen, die mit dieser Funktion gesammelt wurden, bleiben erhalten, wenn das Handle wiederverwendet wird. Das bedeutet, dass außer wenn eine Statistik von dieser Funktion intern überschrieben wird, die vorherige Info zurück gebeben wird.