curl_getinfo
(PHP 4 >= 4.0.4, PHP 5)
curl_getinfo — Informationen zu einem bestimmten Transfer abfragen
Beschreibung
Gibt Informationen über den letzen Transfer zurück.
Parameter-Liste
-
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- Übertragungszeit für das empfangene Dokument; 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 aktivierterCURLOPT_FOLLOWLOCATIONOption -
CURLINFO_REDIRECT_TIME- Zeit in Sekunden, die von allen Umleitungsschritten beansprucht wird, bevor der eigentliche Transfer beginnt -
CURLINFO_REDIRECT_URL- Bei deaktivierterCURLOPT_FOLLOWLOCATION: die Weiterleitungs-URL, die in der letzten Transaktion gefunden wurde, und die als nächstes manuell angefordert werden sollte. Bei aktivierterCURLOPT_FOLLOWLOCATIONOption ist dies immer leer. Die Weiterleitungs-URL ist in diesem Fall inCURLINFO_EFFECTIVE_URLverfü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 dieCURLINFO_HEADER_OUTOption 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 derCURLOPT_PRIVATEOption von curl_setopt() gesetzt wurden
-
Rückgabewerte
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:
- "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
CURLINFO_HEADER_OUTdurch einen vorherigen Aufruf von curl_setopt() gesetzt wurde)
CURLINFO_PRIVATE Option abgerufen werden müssen.
Changelog
| Version | Beschreibung |
|---|---|
| 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.2.4 |
CURLINFO_PRIVATE eingeführt.
|
| 5.1.3 |
Konstante CURLINFO_HEADER_OUT eingeführt.
|
Beispiele
Beispiel #1 curl_getinfo()-Beispiel
<?php
// Eine cURL-Resource erstellen
$ch = curl_init('http://www.yahoo.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);
?>
Anmerkungen
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.