Daniel Stenberg, der Autor des Tools zur Datenübertragung über das Netzwerk curl, hat die Aufnahme des Tools wcurl in das Projekt curl bekannt gegeben. Das Tool wcurl wird nun offiziell als Teil des curl-Projekts anerkannt, deren Entwicklung jedoch von den bisherigen Maintainers in einem separaten Repository unabhängig von curl fortgesetzt wird. Das Tool wird von einem der Debian-Maintainer weiterentwickelt, der das Paket mit curl betreut. In Debian Testing, Debian Unstable und in den Backports von Debian 12 ist das Tool wcurl bereits im curl-Paket enthalten. Der Code des Tools wcurl ist in Shell geschrieben und wird unter der Curl-Lizenz (eine Variante der MIT-Lizenz) veröffentlicht.
Das neue Tool ist eine Wrapper-Implementierung für curl und bietet eine vereinfachte Schnittstelle zum Herunterladen von Dateien, die im Prinzip ähnlich wie das Tool wget funktioniert. Es befreit den Benutzer von der Notwendigkeit, sich spezifizierte Parameter für den Start von curl zu merken (zum Beispiel fällt es vielen einfacher, wget zu installieren, als jedes Mal "curl -L -O -C —remote-time" einzugeben). Im Gegensatz zu curl ermöglicht das Tool wcurl die Angabe mehrerer Links zum Herunterladen, verarbeitet automatisch Weiterleitungen und unternimmt erneute Versuche beim Ladefehler.
Anstatt die Ausgabe in den Standardstream zu senden, speichert wcurl die heruntergeladene Information in Dateien, deren Namen auf Basis des Inhalts der angegebenen Links oder des zurückgegebenen Namens gewählt werden, Server, und das Änderungsdatum der Datei wird auf den Wert gesetzt, den der Server im HTTP-Header Last-modified zurückgibt. Wenn eine Datei mit dem gewählten Namen bereits existiert, überschreibt wcurl sie nicht, sondern fügt eine zusätzliche Ziffer zum Namen hinzu. Bei der Angabe mehrerer Links wird deren paralleler Download gewährleistet.
Das Tool deaktiviert auch die Verarbeitung von Platzhaltern "{}" und "[]" in URLs und erlaubt die Verwendung von Leerzeichen in Links, indem es diese automatisch in das Format "%xx" umwandelt. Mit der Option "—curl-options" erhält der Benutzer die Möglichkeit, beliebige curl-Optionen anzugeben, und über die Option "—dry-run" kann eine Zeile für den curl-Befehl definiert werden, ohne die Operation tatsächlich auszuführen.
In der Ankündigung wird auch das Tool trurl erwähnt, das vom Autor von curl im letzten Jahr erstellt wurde und curl um Funktionen zur Analyse und Manipulation von URLs ergänzt. Mit dem Tool trurl können in Skripten schnell solche Aktionen wie den Austausch des Hostnamens, von Seiten und einzelnen Parametern in einem Link, die Extraktion von Host und Pfad aus einem Link sowie die Umwandlung von URLs in eine separate Ansicht der Elemente im JSON-Format ausgeführt werden. Der Code von trurl ist in C und Perl geschrieben und wird unter der Curl-Lizenz veröffentlicht.
Quelle: opennet.ru
