PHP Tutorial – Webseiten laden mit cURL und file_get_contents

PHP Tutorial – Webseiten laden mit cURL und file_get_contents

So kannst du Webseiten mit cURL und file_get_contents auslesen!

cURL:

Als erstes erstellen wir uns eine Variable mit einer URL welche wir abrufen möchten.

$url = "http://eine-url-zu-einer-webseite.de";

Dann müssen wir cURL initialisieren. Dafür erstellen wir eine Variable. In meinem Beispiel werde ich dafür die Variable $curl erstellen und darauf cURL initialisieren.

$curl = curl_init();

Wenn wir eine POST-Anfrage an die Webseite senden wollen müssen wir die Daten welche wir senden wollen zunächst in einem Array festlegen. Wenn wir allerdings nur eine GET-Anfrage machen wollen, können wir diesen Schritt überspringen. So könnte das Ganze allerdings aussehen, wenn wir z.B. einen API-Schlüssel senden wollen:

$curl_post = array(
 'api_key' => 'meinextremgeheimerapischlüssel'
);

Jetzt müssen noch einige Optionen gesetzt werden:

// URL welche abgefragt werden soll anfügen
curl_setopt($curl,CURLOPT_URL,$url);
// Wollen wir eine POST-Anfrage ausführen? Wenn ja, dann 1. Wenn nicht kann diese Option weggelassen werden oder auf 0 gesetzt werden.
curl_setopt($curl,CURLOPT_POST,1);
// Daten welche bei einer POST-Anfrage gesendet werden sollen anfügen. Kann weggelassen werden wenn nicht benötigt.
curl_setopt($curl,CURLOPT_POSTFIELDS,$curl_post);
// Wollen wir den Quellcode der angefragten URL haben? Wenn ja, dann 1. Wenn nein, dann 0.
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

Da nun cURL richtig eingestellt ist, können wir die Anfrage ausführen und eine Variable festlegen, auf welcher unsere Rückgabe gespeichert wird:

$content = curl_exec($curl);

Nun können wir noch überprüfen ob unsere Anfrage erfolgreich war:

if($content === false):
 echo "Die Anfrage war nicht erfolgreich!";
endif;

Abschließend beenden wir cURL mit curl_close():

curl_close($curl);

Die gesamte Abfrage:

// URL der abzurufenden Webseite
$url = "http://eine-url-zu-einer-webseite.de";
// cURL initialisieren
$curl = curl_init();
// Wenn benötigt, Daten zum senden festlegen
$curl_post = array(
 'api_key' => 'meinextremgeheimerapischlüssel'
);

/* Einstellungen festlegen */
// URL welche abgefragt werden soll anfügen
curl_setopt($curl,CURLOPT_URL,$url);
// Wollen wir eine POST-Anfrage ausführen? Wenn ja, dann 1. Wenn nicht kann diese Option weggelassen werden oder auf 0 gesetzt werden.
curl_setopt($curl,CURLOPT_POST,1);
// Daten welche bei einer POST-Anfrage gesendet werden sollen anfügen. Kann weggelassen werden wenn nicht benötigt.
curl_setopt($curl,CURLOPT_POSTFIELDS,$curl_post);
// Wollen wir den Quellcode der angefragten URL haben? Wenn ja, dann 1. Wenn nein, dann 0.
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

// Abfrage ausführen
$content = curl_exec($curl);

// War die Anfrage erfolgreich?
if($content === false):
 echo "Die Anfrage war nicht erfolgreich!";
endif;

// cURL beenden
curl_close($curl);

 

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.