cURL ist ein leistungsfähiges Werkzeug, das in PHP verwendet werden kann, um HTTP-Anfragen zu stellen. cURL steht für “Client URL” und ist eine Bibliothek, die es ermöglicht, Daten über verschiedene Protokolle zu übertragen. In PHP wird cURL oft verwendet, um GET- und POST-Anfragen zu senden, sowie um API-Anfragen zu stellen und Antworten zu verarbeiten. Hier ist eine schrittweise Anleitung zur Verwendung von cURL in PHP.
```ini
extension=curl
```
Nach der Aktivierung, starten Sie den Webserver neu, um die Änderungen zu übernehmen.
1. Ein cURL-Handle initialisieren.
2. Optionen für das cURL-Handle setzen.
3. Die Anfrage ausführen.
4. Das cURL-Handle schließen.
```php
// Initialisiere cURL-Session
$ch = curl_init();
// Setze die URL für die GET-Anfrage
curl_setopt($ch, CURLOPT_URL, “https://api.example.com/data”);
// Gib die Antwort zurück, anstatt sie direkt an den Browser auszugeben
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Führe die Anfrage aus und speichere die Antwort
$response = curl_exec($ch);
// Überprüfe auf Fehler
if($response === FALSE){
die(curl_error($ch));
}
// Schließe das cURL-Handle
curl_close($ch);
// Verarbeite die Antwort (z.B. als JSON decodieren)
$responseData = json_decode($response, true);
// Beispielausgabe der Daten
print_r($responseData);
?>
```
```php
// Initialisiere cURL-Session
$ch = curl_init();
$data = array(
‘field1’ => ‘value1’,
‘field2’ => ‘value2‘
);
// Setze die URL für die POST-Anfrage
curl_setopt($ch, CURLOPT_URL, “https://api.example.com/data”);
// Setze die cURL-Option für eine POST-Anfrage
curl_setopt($ch, CURLOPT_POST, true);
// Setze die cURL-Optionen für die Daten, die gesendet werden sollen
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
// Gib die Antwort zurück, anstatt sie direkt an den Browser auszugeben
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Führe die Anfrage aus und speichere die Antwort
$response = curl_exec($ch);
// Überprüfe auf Fehler
if($response === FALSE){
die(curl_error($ch));
}
// Schließe das cURL-Handle
curl_close($ch);
// Verarbeite die Antwort (z.B. als JSON decodieren)
$responseData = json_decode($response, true);
// Beispielausgabe der Daten
print_r($responseData);
?>
```
- `CURLOPT_HTTPHEADER`: Setzt HTTP-Header für die Anfrage.
- `CURLOPT_TIMEOUT`: Setzt ein Timeout für die Anfrage.
- `CURLOPT_SSL_VERIFYPEER`: Überprüft das SSL-Zertifikat des Servers.
Beispiel:
```php
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Authorization: Bearer your_token_here‘
));
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
```
1. [PHP Manual – cURL Functions](https://www.php.net/manual/en/book.curl.php)
2. [cURL Documentation – libcurl – API Overview](https://curl.se/libcurl/c/libcurl.html)
3. [Official cURL Examples](https://curl.se/docs/httpscripting.html)
Die Verwendung von cURL in PHP ermöglicht eine große Flexibilität und Kontrolle über HTTP-Anfragen, was besonders nützlich in der Arbeit mit APIs und Webdiensten ist.