CURL ist ein kostenloses Dienstprogramm für Befehlszeilen und Open-Source. Curl arbeitet mit primären Protokollen wie HTTP, FTP, SCP und SFTP.
Dadurch können Benutzer Daten mithilfe einzelner Befehle oder Bash -Skripts hochladen und herunterladen. Es bietet auch Funktionen wie Benutzer-Authentifizierung, Proxy-Tunneling, Download-Lebenslauf, formbasierte Uploads, SSL-Zertifikate und vieles mehr. Man kann mit Sicherheit sagen, dass Curl mehr als ein HTTP -Client ist.
Dieses Tutorial führt Sie durch eine Curl -Funktionalität, mit der Benutzer HTTP -Postanforderungen mithilfe von Dateidaten ausführen können.
Bevor wir anfangen, lassen Sie mich erwähnen, dass dies kein Anfängerleitfaden für Curl ist. Sie benötigen ein gewisses Maß an früherem Know-how, insbesondere Wissen über Netzwerkprotokolle, HTTP-Anfragen und mehr.
Bevor wir uns mit Curl eintauchen können, um Postanfragen durchzuführen, lassen Sie uns zunächst ein Setup erhalten.
So installieren Sie Curl
In den meisten Fällen werden Curl standardmäßig in Major Linux -Verteilungen installiert. Um zu bestätigen, dass Sie Curl haben, verwenden Sie den Befehl
Curl -Help
Wenn Sie einen Fehler erhalten:
-Bash: Curl: Befehl nicht gefunden
Sie müssen es installieren, bevor Sie fortfahren.
Verwenden Sie den Standard -Paket -Manager, um die Installation wie in den folgenden Befehlen gezeigt zu vervollständigen:
sudo apt-Get-Update
sudo apt -Get installieren curl -y
Bevor Sie diskutieren, wie Daten aus einer Datei mit Curl veröffentlicht werden, können Sie mich kurz über die Postanfrage sprechen. Wenn Sie damit bereits vertraut sind, können Sie sich wie gewöhnlich gerne vorantreiben. Ansonsten bleiben Sie bei.
Curl Post Anfrage
Die HTTP -Postanforderung ist eine der beliebtesten HTTP/HTTPS -Anforderungsmethoden, mit denen Daten an einen Remote -Host gesendet werden, um eine Ressource zu erstellen oder zu aktualisieren.
Jetzt:
Bitte verwechseln Sie die Methode nicht mit Put; Obwohl sie ziemlich ähnlich sind, haben sie ihre Unterschiede.
Die mit einer Postanforderung gesendeten Daten werden hauptsächlich im Anforderungsgremium der HTTP -Anfrage gespeichert.
Betrachten Sie beispielsweise die folgende Postanforderung, die sowohl Benutzername und Passwort als auch deren Werte sendet.
Post /eingeschränkt /anmelden.PHP HTTP/1.1 Host: LinuxHint.com content-type: application/x-www-form-rencoded userername = linuxHint & password = password
Um die obige Postanforderung mit Curl zu senden, können wir die Befehle als:
curl -x post -d "userername = linuxHint & password = password" https: // linuxHint.com/eingeschränkt/anmelden.Php
Im obigen Befehl haben wir die Option -D verwendet, um Curl zu sagen
Die Option -x gibt die zu verwendende HTTP -Anforderungsmethode an, in diesem Fall die HTTP -Postanforderung.
Curl geben Inhaltsart an
In einigen Fällen möchten wir beim Senden der Anfrage den Inhaltstyp ausdrücklich angeben. Die Entität vom Typ Content-Typ im Header gibt die Art der Medien der Ressource an, die wir senden. Der Medientyp ist auch allgemein als MIME -Typ bekannt.
Wenn Sie mehr über MIME -Typen erfahren möchten, sollten Sie die unten angegebene Ressource berücksichtigen:
https: // linkfy.zu/iana-mime-Typen
Um den Inhaltstyp in einer Curl -Anforderung anzugeben, können wir das Flag -H verwenden. Lassen Sie uns beispielsweise einen MIME -Anwendungsart/JSON senden.
curl -x post -d "Benutzername": "LinuxHint", "Passwort": "Passwort" -H "Inhalts -Typ: application/json" https: // linuxHint.com/eingeschränkt/anmelden.Php
Die oben genannte gibt an, dass wir ein JSON -Objekt an die bereitgestellte URL senden möchten. Sie können dies verwenden, um die Werte aus einer JSON -Datei zu lesen oder sie als RAW zu senden.
So lesen Sie Daten aus einer Datei
Nehmen wir an, Sie möchten mit Curl Anfragen in der Befehlszeile stellen. Sie haben jedoch die Daten, die in einer Datei gespeichert sind. Sie können den Inhaltstyp verwenden, um den Medientyp anzugeben und dann den Dateipfad zu übergeben, der die Daten enthält. In diesem Beispiel werde ich die Verwendung eines JSON -Objekts veranschaulichen.
Die JSON -Datei (Daten.JSON) enthält die folgenden Werte:
"Benutzername": "LinuxHint",
"Passwort": "Passwort"
Um diese Daten aus einer JSON -Datei zu senden, können wir den -d verwenden und dann den Dateinamen wie im folgenden Befehl gezeigten Befehl übergeben:
curl -x post -h "content -type: application/json" -d "@data.JSON ”https: // linuxhint.com/eingeschränkt/anmelden.Php
Sie können auch die Option -data -Binäroption verwenden.
curl -x post -h "content -type: application/json" --data -binär "@/home/user/data.JSON ”https: // linuxhint.com/eingeschränkt/anmelden.Php
Sie können auch eine Textdatei verwenden, um die Daten zu senden. Alles, was Sie angeben müssen, ist der Inhaltstyp als Text/einfach.
Zum Beispiel eine Textdatei (Daten.txt) mit den folgenden Werten enthält
Benutzername = LinuxHint & Passwort = Passwort
Senden Sie einfach die Anfrage als:
curl -x post -h “Inhaltstyp: text/plain” -d “Daten.txt ”https: // linuxhint.com/eingeschränkt/anmelden.Php
Sie können andere Dateitypen verwenden, die Sie verwenden können, z. B. XML, HTML und viele mehr.
Abschluss
In diesem Tutorial haben wir besprochen, wie sie Postanfragen erstellen und Daten in verschiedenen Formaten übergeben können. Es ist gut zu bedenken. Es kann eine Sammlung von Optionen in einem einzigen Befehl kombinieren, um leistungsstarke Anforderungen zu erstellen. Für weitere Informationen empfehle ich die Curl -Dokumentation, da sie gut geschrieben ist.
https: // curl.se/docs/
Vielen Dank für das Lesen und viel Spaß mit Curl.