(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
- Zuletzt empfangener HTTP-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
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 |
---|---|
5.5.0 |
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 und
CURLINFO_RTSP_SESSION_ID eingeführt.
|
5.4.7 |
CURLINFO_PRIMARY_IP ,
CURLINFO_PRIMARY_PORT ,
CURLINFO_LOCAL_IP und
CURLINFO_LOCAL_PORT eingeführt.
|
5.3.7 |
CURLINFO_REDIRECT_URL eingeführt.
|
5.3.0 |
CURLINFO_CERTINFO eingeführt.
|
5.2.4 |
CURLINFO_PRIVATE eingeführt.
|
5.1.3 |
Konstante CURLINFO_HEADER_OUT 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 Stastik von dieser Funktion intern überschrieben wird, die vorherige Info zurück gebeben wird.