PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren.

cURL wird häufig verwendet, um HTTP-Anfragen zu stellen, um mit APIs zu interagieren, Dateien herunterzuladen und andere netzwerkbezogene Operationen durchzuführen.

Grundlegender cURL-Arbeitsablauf

  1. Eine cURL-Sitzung initialisieren: curl_init()
  2. Optionen für den cURL-Transfer festlegen: curl_setopt()
  3. Die cURL-Sitzung ausführen: curl_exec()
  4. Die cURL-Sitzung schließen: curl_close()

Beispiel: Abrufen einer Webseite

Hier ist ein einfaches Beispiel, das zeigt, wie man den Inhalt einer Webseite abruft und in einer Datei speichert:

<?php
// Initialisiere eine cURL-Sitzung
$ch = curl_init("http://www.example.com/");

// Öffne eine Datei, um den Inhalt zu schreiben
$fp = fopen("example_homepage.txt", "w");

// Setze cURL-Optionen
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

// Führe die cURL-Sitzung aus
curl_exec($ch);

// Überprüfe auf Fehler
if (curl_error($ch)) {
    fwrite($fp, curl_error($ch));
}

// Schließe die cURL-Sitzung und die Datei
curl_close($ch);
fclose($fp);
?>

 

Beispiel: Durchführung einer POST-Anfrage

POST-Anfragen werden häufig verwendet, um Daten an einen Server zu senden. Hier ist ein Beispiel, wie man eine POST-Anfrage mit cURL durchführt:

<?php
$url = 'http://httpbin.org/post';
$fields = ['name' => 'John Doe', 'occupation' => 'gardener'];

// Initialisiere eine cURL-Sitzung
$ch = curl_init($url);

// Setze cURL-Optionen
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Führe die cURL-Sitzung aus und hole die Antwort
$response = curl_exec($ch);

// Schließe die cURL-Sitzung
curl_close($ch);

// Gib die Antwort aus
echo $response;
?>

 

Beispiel: Senden von JSON-Daten

Manchmal erfordern APIs Daten im JSON-Format. Sie können json_encode() verwenden, um Ihre Daten vorzubereiten:

<?php
$url = 'http://httpbin.org/post';
$data = json_encode(['name' => 'John Doe', 'occupation' => 'gardener']);

// Initialisiere eine cURL-Sitzung
$ch = curl_init($url);

// Setze cURL-Optionen
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Führe die cURL-Sitzung aus und hole die Antwort
$response = curl_exec($ch);

// Schließe die cURL-Sitzung
curl_close($ch);

// Gib die Antwort aus
echo $response;
?>

 

Bearbeiten mehrerer Anfragen

cURL unterstützt auch die Bearbeitung mehrerer Anfragen gleichzeitig mit curl_multi_init(). Dies ist nützlich, um mehrere Ressourcen gleichzeitig abzurufen:

 

<?php
$urls = [
    "http://webcode.me",
    "https://example.com",
    "http://httpbin.org",
    "https://www.perl.org"
];

$mh = curl_multi_init();
$chs = [];

foreach ($urls als $url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($mh, $ch);
    $chs[] = $ch;
}

$running = null;
do {
    curl_multi_exec($mh, $running);
} while ($running);

foreach ($chs als $ch) {
    echo curl_multi_getcontent($ch);
    curl_multi_remove_handle($mh, $ch);
}

curl_multi_close($mh);
?>

 

Debuggen von cURL-Anfragen

Zum Debuggen können Sie curl_getinfo() verwenden, um Informationen über die Anfrage zu erhalten und curl_error(), um Fehlermeldungen auszugeben:

 

<?php
$url = "http://www.example.com/";
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Fehler:' . curl_error($ch);
} else {
    $info = curl_getinfo($ch);
    print_r($info);
}

curl_close($ch);
?>

 

Die cURL-Erweiterung in PHP ist ein vielseitiges Werkzeug zum Stellen von HTTP-Anfragen. Durch das Beherrschen von cURL können Sie mit Webservices interagieren, Dateien herunterladen und verschiedene Netzwerkoperationen effizient durchführen.

Für detailliertere Informationen können Sie das PHP-Handbuch zu cURL

Author

Erfahrungen

Es sind noch keine Kommentare vorhanden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen