Zum Ausführen von Anfragen mit cURL sind grundsätzlich folgende Schritte notwendig:
•cURL-Session initialisieren (curl_init)
•Anfrage senden (curl_setopt, curl_exec)
•Antwort verarbeiten (gewünschte Daten aus Antwort auslesen, Fehler behandeln)
•cURL-Optionen zurücksetzen (curl_reset) - diese Funktion setzt die cURL-Optionen für die Session. Dies ist notwendig, wenn sich z. B. die HTTP-Methode zwischen zwei Anfragen ändert.
•cURL-Session beenden (curl_close)
Schema
// cURL-Session initialisieren
$curlHandle = curl_init();
// Optionen für die Anfrage setzen (Ziel-URL, Cookie-File, etc.).
// Die Optionen unterscheiden sich je nach Art der Anfrage.
curl_setopt($curlHandle, CURLOPT_URL,
'http://example.org/jobrouter/api/rest/v2/path/to/some/get/route');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_COOKIEJAR, 'path/to/cooke/file.cookie');
// Anfrage senden
$response = curl_exec($curlHandle);
// Statuscode auslesen und prüfen
$code = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
if ($code >= 400) {
echo "Fehler bei der Ausführung";
}
// Weitere Informationen aus der Antwort auslesen ...
// cURL-Session beenden
curl_close($curlHandle);
Optionen
cURL bietet eine Vielzahl von Optionen für das Ausführen von Anfragen. Einige wichtige Optionen werden in der folgende Tabelle aufgelistet
Option |
Bedeutung |
CURLOPT_URL |
URL der aufzurufenden Ressource (z. B. http://example.org/jobrouter/api/rest/v2/application/sessions) |
CURLOPT_HTTPHEADER |
Daten, die im Header der Anfrage versendet werden (z.B. Content-Type) |
CURLOPT_RETURNTRANSFER |
Setzen Sie diese Option auf true um die Daten aus der Antwort auslesen zu können. |
CURLOPT_COOKIEFILE |
Der Name einer Datei, die Cookiedaten enthält |
CURLOPT_COOKIEJAR |
Der Name einer Datei, in der alle internen Cookies beim Schließen des curl-Handles gespeichert werden, z.B. nach einem Aufruf von curl_close() |
CURLOPT_CUSTOMREQUEST |
Legt die Anfrage-Methode fest. Zulässige Werte sind GET, POST, DELETE usw. |
CURLOPT_POST |
Setzen Sie diese Option auf true, wenn es sich um eine POST-Anfrage handelt. |
CURLOPT_POSTFIELDS |
Daten, die in einer POST-Anfrage übertragen werden |
CURLOPT_HTTPAUTH |
Gibt die Authentifizierungsmethode an. Bei Benutzung der REST-API mit Windows Authentifizierung setzen Sie bitte die Option auf CURLAUTH_NTLM und übergeben Sie in der Option CURLOPT_USERPWD ein leeres Benutzername-Passwort-Paar: curl_setopt($curlHandle, CURLOPT_HTTPAUTH, CURLAUTH_NTLM); curl_setopt($curlHandle, CURLOPT_USERPWD, ":"); Die Optionen müssen bei jedem Request gesetzt werden. Erfolgt die Authentifizierung anonym, werden sie nicht benötigt. |