XVIII. cURL, Client URL Bibiothek-Funktionen
PHP unterstützt libcurl, eine Bibiothek entwickelt von Daniel Stenberg,
die es erlaubt sich mit Servern zu verbinden und über diverse
Protokolle zu kommunizieren.
Libcurl unterstützt zur Zeit folgende Protokolle:
http, https, ftp, gopher, telnet, dict, file und ldap.
Libcurl unterstützt des weiteren HTTPS Zertifikate, HTTP
POST, HTTP PUT, und das hochladen von Dateien unter Benutzung des
FTP Protokolls (ist auch unter Nuztung der FTP Erweiterung
PHPs' möglich), HTTP Fomular basierende Uploads, Proxies, Cookies,
und Benutzer/Password Authentifikation.
Diese Funktionen wurden in PHP 4.0.2 hinzugefügt.
Um cURL Functionen nutzen zu können, muss man das cURL Packet installieren.
PHP fordert cURL 7.0.2-beta oder neuer.
PHP wird nicht mir einer Version älter als 7.0.2-beta laufen
In PHP 4.2.3, wird cURL in der Version 7.9.0 oder höher vorausgesetzt.
Bei PHP 4.3.0, wird die cURL Version 7.9.8 oder höher gebraucht.
PHP 5.0.0 wird wahrscheinlich eine cURL Version neuer als 7.10.5
voraussetzen.
Um PHP mit cURL-Unterstützung nutzen zu können, muss man
PHP mit der Option --with-curl[=DIR]
kompilieren, wobei DIR das Verzeichnis angibt in dem sich die
Bibiotheken und die Includedateien befinden.
In dem "include" Verzeichnis sollte ein Unterverzeichnis mit dem Titel
"curl" existieren, dass die Dateien easy.h und
curl.h enthält . Zudem sollte eine Datei namens
libcurl.a in dem "lib"-Verzeichnis sein. Ab
PHP 4.3.0 kann man PHP mit der Option
--with-curlwrappers konfigurieren,
um cURL für URL-Streams nuzten zu können.
Anmerkung für Win32-Nutzer:
Um dieses Modul in einer Windows-Umgebung nutzen zu können, müssen
libeay32.dll und ssleay32.dll
aus dem DLL-Verzeichnis des PHP/Win32 binary Packets in das SYSTEM32-Verzeichnis
des Windows PC's kopiert werden. (z.B.:
C:\WINNT\SYSTEM32 oder
C:\WINDOWS\SYSTEM)
Folgende Konstanten werden von dieser
Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder
statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
Wenn PHP mit cURL-Unterstützung kompiliert und installiert ist,
kann mit der Benutzung der cURL-Funktionen begonnen werden.
Die Idee die hinter den Funktionen steckt, ist dass man mit Hilfe
von curl_init() eine cURL-Session initialisiert,
alle für den Transfer nötigen Optionen unter Verwendung von
curl_setopt() setzt und dann die Session mittels
curl_exec() ausführt, um dann schließlich
curl_close() zur Beendigung der Session zu nutzen.
Folgendes Beispiel nutzt die cURL-Functionen, um die Homepage von
example.com in eine Datei zu speichern:
Beispiel 1. Nutzung von PHP's cURL-Modul, um die Homepage von example.com herunterzuladen |
<?php
//Die Session initialisieren
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
//Session Optionen setzen
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
//Ausführen der Aktionen
curl_exec($ch);
//Session beenden
curl_close($ch);
fclose($fp);
?>
|
|
|