Hosting mit cURL
14:09, 29.11.2022
Wenn Sie sich entschlossen haben, die Datenübertragung im Netz mit verschiedenen Protokollen zu automatisieren, wird Ihnen dieser Artikel helfen. Diese Software arbeitet mit Protokollen:
- FTP;
- FTPS;
- HTTP;
- HTTPS;
- TFTP;
- SCP;
- SFTP;
- Telnet;
- DICT;
- LDAP;
- POP3;
- IMAP;
- SMTP.
Die Arbeit mit cURL ist nur über die Kommandozeile möglich, da es keine Benutzeroberfläche gibt. Es kann auch als Zusatzmodul für jede beliebige Programmiersprache verwendet werden, mit der Sie arbeiten.
Merkmale der cURL-Bibliothek
Das Dienstprogramm ist für alle modernen Unix-basierten Betriebssysteme verfügbar. Dieser Befehl wird verwendet, um Daten von einer bestimmten URL abzurufen oder um Daten über die oben aufgeführten Protokolle zu übertragen. Das Dienstprogramm benötigt die Libcurl-API-Bibliothek – sie ist erforderlich, um die Übertragung von Dateien an mehrere Anwendungen zu ermöglichen.
Libcurl ist eine robuste und portable Open-Source-Bibliothek, die leicht in jede Anwendung integriert werden kann. Der cURL-Befehl selbst kann bei den meisten Linux-Distributionen für solche Zwecke verwendet werden:
- API-Tests.
- Verwendung innerhalb von Shell-Skripten.
- Ermöglicht den Zugriff auf Dateien ohne einen Browser.
Dabei kann das Paket sowohl für kommerzielle als auch für nicht-kommerzielle Zwecke verwendet werden – der Quellcode ist offen und die Software kann frei verteilt werden.
Installation von cURL
Windows-Benutzer müssen zuerst das PHP-Modul installieren, da es ohne dieses nicht funktioniert. Um cURL zu installieren, müssen Sie das Installationsprogramm von der offiziellen Website der Entwickler herunterladen. Wählen Sie einfach die für Ihr Betriebssystem geeignete Version aus und installieren Sie sie.
Für alle anderen Betriebssysteme finden Sie das Installationsprogramm ebenfalls in der entsprechenden Liste. Es gibt Versionen für Linux, FreeBSD, DOS, Debian, Ubuntu, Fedora und viele andere Betriebssysteme – sowohl freie als auch für den Einsatz in Unternehmen bestimmte.
Wie man mit cURL arbeitet
Es gibt viele Befehle, die dieses Dienstprogramm versteht. Es gibt so viele, dass es eigentlich unmöglich ist, sie alle zu behandeln – das würde eine ausführliche mehrseitige Dokumentation erfordern. Sie können es in speziellen Foren oder auf der Website der Entwickler finden, lassen Sie uns die Syntax überprüfen. Es ist ziemlich einfach und sieht wie folgt aus:
$ curl Optionen Link
Was ein Link ist, liegt auf der Hand, aber die möglichen Optionen sind recht zahlreich:
- -# – Download-Fortschritt anzeigen;
- -0 – Wechsel zum Protokoll HTTP 1.0;
- -1 – initiiert die Verwendung des tlsv1-Verschlüsselungsprotokolls;
- -2 – Wechsel zu sslv2;
- -3 – Umstellung auf sslv3;
- -4 – Umstellung auf ipv4;
- -6 – Umstellung auf ipv6;
- -A – geben Sie Ihren USER_AGENT an;
- -b – den Cookie als Datei speichern;
- -c – um Cookies aus einer Datei auf den Server zu übertragen;
- -C – Fortsetzen des Herunterladens der Datei ab dem Ort, an dem die Datei unterbrochen wurde, oder ab dem angegebenen Offset;
- -m – Begrenzung der Wartezeit auf die Antwort des Servers;
- -d – Übermittlung von Daten mit der POST-Methode;
- -D – speichert die vom Server zurückgegebenen Header in einer Datei;
- -e – setzt das Feld Referer-uri, das angibt, von welcher Website der Benutzer kam;
- -E – initiiert die Verwendung eines externen SSL-Zertifikats;
- -f – verbietet, die Meldungen vom Typ “Error” anzuzeigen;
- -F – Übertragung von Daten in Form eines Formulars;
- -G – Die Aktivierung dieser Option bewirkt, dass alle in Option -d angegebenen Daten per GET gesendet werden;
- -H – Schickt Header an den Server;
- I – Empfang des HTTP-Headers ohne Berücksichtigung des Seiteninhalts;
- -j – Cookie aus Datei lesen und senden;
- -J – entfernt die Kopfzeile aus der Anfrage;
- -L – Empfangen und Bearbeiten von Weiterleitungen;
- -s – zeigt die maximale Anzahl von Weiterleitungen mit Standort an;
- -o – Seiteninhalt in eine Datei ausgeben;
- -O – Inhalt in einer Datei mit Seiten- oder Dateinamen auf dem Server speichern;
- -p – Proxy verwenden;
- -proto – ermöglicht es Ihnen, das bevorzugte Übertragungsprotokoll festzulegen;
- -R – den Zeitpunkt der letzten Änderung einer gelöschten Datei speichern;
- -s – Fehlermeldungen minimieren;
- -S – Anzeige von Fehlermeldungen;
- -T – Hochladen der Datei auf den Server;
- -v – um so viele Details wie möglich auszugeben;
- -y – Upload-Geschwindigkeit minimieren;
- Y – Maximierung der Download-Geschwindigkeit;
- -V – Version anzeigen.
Wie Sie sehen, wird bei der cURL-Syntax zwischen Groß- und Kleinschreibung unterschieden, seien Sie also vorsichtig.
Anwendungsbeispiele für cURL in PHP
Am einfachsten ist es, mit Libcurl die Erzeugung von POST-Anfragen zu implementieren. Sie müssen lediglich eine cURL-Sitzung einrichten, die erforderlichen Optionen festlegen und dann die Anfrage ausführen. Hier ist ein einfaches und unkompliziertes Beispiel:
<?php // Suche nach Büchern auf dem Server amazon.com $url = "http://www.amazon.com/exec/obidos/search-handle-form/002-5640957-2809605"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); // set url to post to curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s curl_setopt($ch, CURLOPT_POST, 1); // set POST method curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // add POST fields $result = curl_exec($ch); // run the whole process curl_close($ch); echo $result; ?> <?php // HTTP authentication $url = "http://www.example.com/protected/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword"); $result = curl_exec($ch); curl_close($ch); echo $result; ?> <?PHP // FTP this script to a server $fp = fopen(__FILE__, "r"); $url = "ftp://username:password@mydomain.com:21/path/to/newfile.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_FTPASCII, 1); curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__)); $result = curl_exec($ch); curl_close($ch); ?>
Um die Funktionsweise von cURL besser zu verstehen, empfiehlt es sich, einen Blick in die offizielle Dokumentation der Entwickler zu werfen oder erfahrene Systemadministratoren um Aufklärung zu bitten. Damit ist unser Artikel beendet und wir danken Ihnen für Ihre Aufmerksamkeit!