Offizielle Liste der POSIX 7-Dienstprogramme
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
Die folgenden sind nicht in der Liste vorhanden:
- wget
- locken
- ftp
Dasselbe gilt für das LSB, das im Wesentlichen nur die POSIX-Dienstprogramme garantiert.
Aber ich denke, dass POSIX C ausreicht, um den größten Teil von netcat zu implementieren Funktionalität, also ist es wirklich eine verpasste Gelegenheit. Beispiel:Wie erstelle ich eine HTTP-Get-Anfrage in C ohne libcurl?
Wahrscheinlich liegt es daran, dass Netzwerkprotokolle wie HTTP zu der Zeit, als sich POSIX noch weiterentwickelte, als zu spezifisch galten/nicht existierten und POSIX im Grunde für immer einfror. Insbesondere ist die HTTPS-Verschlüsselung wahrscheinlich nicht einfach zu implementieren.
Curl ist wahrscheinlich noch häufiger als wget. Zumindest nach meiner Erfahrung, nur weil mehr andere Tools davon abhängen. Aber sowohl curl als auch wget lassen sich supereinfach installieren und sind auf jedem System verfügbar.
Bearbeiten am 04.11.2019:Ich schreibe meine Antwort um, um zu verdeutlichen, wie wichtig es ist, sicherzustellen, dass eine Übertragung während des Fluges nicht manipuliert wird. Ich lasse meine ursprüngliche Antwort unter der Regel stehen.
Ich schlage vor, rsync zu verwenden über ssh um Ihre Dateien zu übertragen. rsync Die Benutzeroberfläche von sieht vielleicht überwältigend aus, aber die meisten Benutzer können vielleicht rsync -avzP auswählen , und wenn Sie mehr Flexibilität benötigen, kann sich rsync anpassen. Mit ssh wird Ihrer Verbindung Integrität, Authentizität und Datenschutz verleihen.
curl ist der De-facto-Standard für HTTP-Übertragungen; wenn normales http oder https bevorzugt wird, curl oder Tools basierend auf curl sind wahrscheinlich eine gute Wahl.
Meiner Erfahrung nach sind Tools etwa in dieser Reihenfolge verfügbar:
wgetcurlsftpftpGET(Ich verwendeHEADständig und vergessen oft, dass es nur ein Tool in der Suite ist)tftpnc(nicht so häufig wie ich möchte)socat(noch seltener)
Die bash /dev/tcp Tool ist auf den meisten Systemen verfügbar, die ich verwendet habe (einige verwendeten dash oder pdksh stattdessen), aber mit echo mit bash , nc , oder socat geht den langen Weg für den HTTP-Zugriff - Sie müssen Header irgendwie handhaben , was seine Eleganz mindert.
gnu awk (gawk) hat TCP-Handling sogar auf Nicht-Linux-Systemen eingebaut http://www.gnu.org/software/gawk/manual/gawkinet/html_node/