PHP Manual
/
Verwaltung von Produktionsservern

cURL in PHP - Herunterladen von Daten über eine URL

15. 02. 2020

Obsah článku

Die PHP-Bibliothek `cURL` ist eine gute Möglichkeit, Daten von einem fremden Server herunterzuladen.

Auf der Grundlage einer Abfrage erstellt es eine HTTP-Anfrage, die es an den Zielserver sendet, und nach dem Herunterladen enthält es eine API für die (relativ) einfache Datenverarbeitung.

Im Gegensatz zur nativen Funktion file_get_contents (über die wir auch HTTP-Anfragen stellen können), bietet sie viel bessere Konfigurationsmöglichkeiten und lädt Seiten/Dateien wie ein echter Browser herunter.

Die Funktion "file_get_contents" verwendet intern die "cURL"-Bibliothek, sie hat nur nicht so detaillierte Konfigurationsoptionen.

Erkennung des cURL-Modus in einer Anfrage

Es ist oft nützlich zu erkennen, ob die aktuelle Anfrage über cUrl oder klassisch im Browser gestellt wurde.

Es gibt keine direkte Implementierung für diese Funktion in PHP, aber wir können selbst eine einfache Funktion schreiben:

function isCurl(): bool
{
return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'locken.');
}

Wenn Sie Linux und das dazugehörige Terminal verwenden oder auf einem Mac arbeiten, versuchen Sie diesen Befehl:

curl https://php.baraja.cz/curl

Der Befehl stellt eine interne Anfrage an diese Website und gibt das Ergebnis zurück.

Wenn die Anwendung keine cURL-Anfrage erkannt hat, wird der HTML-Code so zurückgegeben, als ob die Anfrage vom Browser gekommen wäre. Da die Anfragetypen jedoch erkannt werden, steht der Rückgabe eines bereinigten Markdown-Artikels nichts im Wege.

Dies hat den Vorteil, dass die Daten viel besser bereinigt werden. Wir zeigen dem Benutzer im Browser das formatierte HTML, dem Roboter aber nur den Basisinhalt.

Detaillierte Verwendung der API in PHP

Wenn Sie sich für die detaillierte Verwendung von cUrl interessieren, empfehle ich Ihnen die offizielle Dokumentation, die immer auf dem neuesten Stand ist.

Für den gelegentlichen Gebrauch gibt es eine Guzzle-Bibliothek, die mit

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
3.
Status:
All systems normal.
2024