kędzior

Jak korzystać z danych postu cURL z pliku

Jak korzystać z danych postu cURL z pliku

cURL to bezpłatne narzędzie wiersza poleceń o otwartym kodzie źródłowym służące do przesyłania danych do lub ze zdalnego hosta przy minimalnej interakcji użytkownika. cURL działa z podstawowymi protokołami, takimi jak HTTP, FTP, SCP i SFTP.

Umożliwia użytkownikom przesyłanie i pobieranie danych za pomocą pojedynczych poleceń lub skryptów bash. Zapewnia również funkcje, takie jak uwierzytelnianie użytkowników, tunelowanie proxy, wznawianie pobierania, przesyłanie oparte na formularzach, certyfikaty SSL i wiele więcej. Można śmiało powiedzieć, że cURL to coś więcej niż klient HTTP.

Ten samouczek przeprowadzi Cię przez jedną funkcję cURL, która pozwala użytkownikom wykonywać żądania HTTP post przy użyciu danych z pliku file.

Zanim zaczniemy, wspomnę, że nie jest to przewodnik po cURL dla początkujących; potrzebujesz pewnej wiedzy, w szczególności znajomości protokołów sieciowych, żądań HTTP i nie tylko.

Zanim będziemy mogli zagłębić się w używanie cURL do wykonywania żądań POST, najpierw zajmijmy się konfiguracją.

Jak zainstalować cURL

W większości przypadków cURL jest domyślnie instalowany w głównych dystrybucjach Linuksa. Aby potwierdzić, że masz cURL, użyj polecenia

curl --pomoc

Jeśli pojawi się błąd:

-bash: curl: nie znaleziono polecenia

Musisz go zainstalować przed kontynuowaniem.

Użyj domyślnego menedżera pakietów, aby zakończyć instalację, jak pokazano w poniższych poleceniach:

aktualizacja sudo apt-get
sudo apt-get zainstaluj curl -y

Przed omówieniem sposobu POST danych z pliku z cURL, pozwól mi omówić pokrótce żądanie POST. Jak zwykle, jeśli już to znasz, możesz przejść dalej; w przeciwnym razie pozostań w pobliżu.

cURL Żądanie POST

Żądanie HTTP post jest jedną z najpopularniejszych metod żądań HTTP/HTTPS używanych do wysyłania danych do zdalnego hosta w celu utworzenia lub aktualizacji zasobu.

Teraz:

Proszę nie mylić metody z PUT; chociaż są dość podobne, mają swoje różnice.

Dane wysyłane za pomocą żądania POST są przechowywane głównie w treści żądania HTTP HTTP.

Rozważmy na przykład poniższe żądanie POST, które wysyła nazwę użytkownika i hasło, a także ich wartości.

POST /zastrzeżony/logowanie.php HTTP/1.1 Host: linuxhint.com Content-Type: application/x-www-form-urlencoded username=linuxhint&password=password

Aby wysłać powyższe żądanie POST za pomocą cURL, możemy określić polecenia jako:

curl -x POST -d „nazwa użytkownika=linuxhint&hasło=hasło” https://linuxhint.com/zastrzeżone/logowanie.php

W powyższym poleceniu użyliśmy opcji -d, aby poinformować cURL, aby zawierał domyślne nagłówki, czyli Content-Type: application/x-www-form-urlencoded

Opcja -X określa metodę żądania HTTP do użycia, w tym przypadku żądanie HTTP POST.

cURL Określ typ zawartości

W niektórych przypadkach możemy chcieć określić [jasno] Content-Type podczas wysyłania żądania. Encja Content-Type w nagłówku określa typ nośnika zasobu, który wysyłamy. Typ nośnika jest również powszechnie znany jako typ MIME.

Jeśli chcesz dowiedzieć się więcej o typach MIME, rozważ zasób podany poniżej:

https://linkfy.do/IANA-MIME-Types

Aby określić Content-Type w żądaniu cURL, możemy użyć flagi -H. Na przykład wyślijmy typ MIME aplikacji/JSON.

curl -X POST -d „nazwa użytkownika”: „linuxhint”, „hasło”: „hasło” -H „Content-Type: application/json” https://linuxhint.com/zastrzeżone/logowanie.php

Powyższe określa, że ​​chcemy wysłać obiekt JSON na podany adres URL. Możesz użyć tego do odczytania wartości z pliku JSON lub wysłania go jako surowego.

Jak czytać dane z pliku from

Załóżmy, że chcesz wysyłać żądania w wierszu poleceń za pomocą cURL, ale masz dane do wysłania zapisane w pliku. Możesz użyć Content-Type, aby określić typ nośnika, a następnie przekazać ścieżkę do pliku zawierającego dane. W tym przykładzie zilustruję za pomocą obiektu JSON.

Plik JSON (dane.json) zawiera następujące wartości:


"nazwa użytkownika": "linuxhint",
"hasło": "hasło"

Aby wysłać te dane z pliku JSON, możemy użyć -d, a następnie przekazać nazwę pliku, jak pokazano w poniższym poleceniu:

curl -X POST -H „Typ treści: aplikacja/json” -d „@data.json” https://linuxhint.com/zastrzeżone/logowanie.php

Możesz także użyć opcji -data-binary.

curl -X POST -H "Content-Type: application/json" --data-binary "@/home/user/data.json” https://linuxhint.com/zastrzeżone/logowanie.php

Możesz również użyć pliku tekstowego do wysłania danych; wszystko, co musisz określić, to Content-Type jako tekst/zwykły.

Na przykład plik tekstowy (dane.txt) zawierający następujące wartości

username=linuxhint&password=hasło

Używając polecenia cURL, po prostu wyślij żądanie jako:

curl -X POST -H „Typ treści: tekst/zwykły” -d „dane.txt” https://linuxhint.com/zastrzeżone/logowanie.php

Możesz używać innych typów plików, takich jak XML, HTML i wiele innych.

Wniosek

W tym samouczku omówiliśmy, jak tworzyć żądania POST i przekazywać dane w różnych formatach. Warto pamiętać, że cURL jest nie tylko bardzo potężny, ale także bardzo elastyczny. Może łączyć zbiór opcji w jednym poleceniu, aby tworzyć potężne żądania. Aby uzyskać więcej informacji, polecam dokumentację cURL, ponieważ jest dobrze napisana.

https://curl.se/dokumenty/

Dziękuję za przeczytanie i baw się dobrze z cURL.

Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...
Gry Jak zwiększyć FPS w Linuksie??
Jak zwiększyć FPS w Linuksie??
FPS oznacza Klatki na sekundę. Zadaniem FPS jest pomiar liczby klatek na sekundę podczas odtwarzania wideo lub wydajności gier. W prostych słowach lic...