Es wird in diesem Tutorial erklärt, wie sie mit der PHP Erweiterungen curl eine Webseite einlesen und wieder ausgeben. Um die PHP Erweiterung curl zu nutzen, ist es erforderlich, dass sie in der php.ini Datei php_curl.dll geladen haben. Ansonsten können Sie diese PHP Erweiterung nicht nutzen. Nachfolgend erkläre ich ihnen, wie sie mit einer Php Function die Daten anhand von curl einlesen und wieder mit einem sogenannten echo Befehl erneut ausgeben.
Code Beispiel:
<?php
/*
* Created on 22.12.2009 by Nico Schubert
*/
function daten_einlesen($webseiten_url, $useragent) {
/**
* cURL-Session initialisieren
*/
$ch = curl_init($webseiten_url);
/**
* Weiter Parameter der cURL-Session übergeben
*/
curl_setopt ($ch, CURLOPT_URL, $webseiten_url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
/**
* cURL Anweisen, das die Übergabe
zurückgegeben werden soll
*/
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
/**
* cURL mitteilen, welcher Useragent übergeben
werden soll.
*/
curl_setopt ($ch, CURLOPT_USERAGENT,
$useragent);
/**
* cURL Rückgabe in $result speichern
*/
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
}
$rueckgabe_der_function =
daten_einlesen("https://www.php.net",
"Mozilla/4.0");
echo $rueckgabe_der_function;
?>
Erklärung:
Dieser PHP-Code definiert eine Funktion namens daten_einlesen
, die dazu dient, Daten von einer angegebenen Webseite zu holen. Die Funktion nimmt zwei Parameter: $webseiten_url
, die URL der Webseite, von der die Daten abgerufen werden sollen, und $useragent
, der den User-Agent-Header der HTTP-Anfrage definiert. Der User-Agent-Header gibt den Typ des Clients an, der die Anfrage macht, was für das Webserver-Logging oder für die bedingte Inhaltsausgabe nützlich sein kann.
Im Inneren der Funktion:
-
cURL-Session initialisieren: Mit curl_init
wird eine neue cURL-Session initialisiert und die Variable $ch
zugewiesen. cURL
ist eine Bibliothek, die es erlaubt, verschiedene Arten von Anfragen (wie HTTP, HTTPS, FTP) in PHP zu machen.
-
Parameter der cURL-Session übergeben: Mithilfe von curl_setopt
werden verschiedene Optionen für die cURL-Session gesetzt:
CURLOPT_URL
setzt die URL, von der Daten abgerufen werden sollen. CURLOPT_HEADER
entscheidet, ob die Header in der Ausgabe enthalten sein sollen oder nicht. 0
bedeutet, dass sie nicht enthalten sein werden. CURLOPT_RETURNTRANSFER
teilt cURL mit, dass das Ergebnis der Anfrage als String zurückgegeben werden soll, anstatt es direkt auszugeben. 1
aktiviert diese Option. CURLOPT_USERAGENT
setzt den User-Agent-String für die HTTP-Anfrage.
-
cURL Rückgabe in $result
speichern: curl_exec
führt die cURL-Session aus und speichert das Ergebnis in $result
. Das Ergebnis könnte die HTML-Ausgabe der angefragten Webseite oder bei einem Fehler false
sein.
-
cURL-Session schließen: Mit curl_close
wird die cURL-Session beendet und alle damit verbundenen Ressourcen freigegeben.
Nachdem die Funktion definiert ist, wird sie aufgerufen und ihr Rückgabewert (der Inhalt der Webseite https://www.php.net, abgerufen mit dem User-Agent Mozilla/4.0
) wird in der Variablen $rueckgabe_der_function
gespeichert. Schließlich wird dieser Wert mit echo
ausgegeben, was den Inhalt der angeforderten Webseite auf dem Bildschirm anzeigt.
Anwendungsbeispiele:
Sie könnten diese Funktion dazu verwenden, um unter anderem gewisse Inhalte von externen Webseiten einzulesen und als eigene auszugeben. Ich möchte aber betonen, dass dies kein Aufruf zu illegalen Handlungen ist. Es ist lediglich ein Anwendungsbeispiel, wie Sie diese Funktion verwenden können.