kučera

Jak používat cURL Post Data ze souboru

Jak používat cURL Post Data ze souboru

cURL je bezplatný a otevřený nástroj příkazového řádku používaný k přenosu dat ze vzdáleného hostitele nebo ze vzdáleného hostitele s minimální interakcí uživatele. cURL pracuje s primárními protokoly, jako jsou HTTP, FTP, SCP a SFTP.

Umožňuje uživatelům nahrávat a stahovat data pomocí jednotlivých příkazů nebo bash skriptů. Poskytuje také funkce, jako je ověřování uživatelů, tunelování proxy, obnovení stahování, nahrávání na základě formulářů, certifikáty SSL a mnoho dalšího. Lze s jistotou říci, že cURL je více než klient HTTP.

Tento výukový program vás provede jednou funkcí cURL, která uživatelům umožní provádět žádosti o příspěvek HTTP pomocí dat ze souborů.

Než začneme, dovolte mi zmínit, že toto není průvodce CURL pro začátečníky; potřebujete určitý stupeň předchozího know-how, zejména znalosti síťových protokolů, požadavků HTTP a dalších.

Než se budeme moci ponořit do používání cURL k provádění požadavků POST, nejdříve si vytvořme nastavení.

Jak nainstalovat cURL

Ve většině případů ve výchozím nastavení najdete cURL nainstalovaný v hlavních distribucích Linuxu. Chcete-li potvrdit, že máte cURL, použijte příkaz

zvlnění - pomoc

Pokud se zobrazí chyba:

-bash: curl: příkaz nebyl nalezen

Než budete pokračovat, budete si jej muset nainstalovat.

K dokončení instalace použijte výchozího správce balíčků, jak je znázorněno v následujících příkazech:

sudo apt-get aktualizace
sudo apt-get install curl -y

Před diskusí o tom, jak POST data ze souboru pomocí cURL, dovolte mi krátce mluvit o požadavku POST. Jako obvykle, pokud jste již obeznámeni s tímto, můžete bez obav přeskočit dopředu; jinak se držte.

cURL POST požadavek

Požadavek na příspěvek HTTP je jednou z nejpopulárnějších metod požadavků HTTP / HTTPS používaných k odesílání dat na vzdáleného hostitele k vytvoření nebo aktualizaci prostředku.

Nyní:

Nezaměňujte metodu s PUT; i když jsou si docela podobné, mají své rozdíly.

Data odeslaná pomocí požadavku POST se ukládají hlavně v těle požadavku požadavku HTTP.

Zvažte například níže uvedený požadavek POST, který odesílá uživatelské jméno a heslo i jejich hodnoty.

POST / omezeno / přihlášení.php HTTP / 1.1 Hostitel: linuxhint.com Typ obsahu: application / x-www-form-urlencoded username = linuxhint & heslo = heslo

Chcete-li odeslat výše uvedený požadavek POST pomocí cURL, můžeme zadat příkazy jako:

curl -x POST -d „username = linuxhint & heslo = heslo“ https: // linuxhint.com / omezené / přihlášení.php

Ve výše uvedeném příkazu jsme použili volbu -d, abychom řekli cURL, aby zahrnoval výchozí záhlaví, což je Content-Type: application / x-www-form-urlencoded

Možnost -X určuje metodu požadavku HTTP, která se má použít, v tomto případě požadavek HTTP POST.

cURL Určete typ obsahu

V některých případech možná budeme chtít při odesílání požadavku specifikovat [výslovně] typ obsahu. Entita Content-Type v záhlaví určuje typ média prostředku, který odesíláme. Typ média je také běžně známý jako typ MIME.

Pokud se chcete dozvědět více o typech MIME, zvažte níže uvedený zdroj:

https: // linkfy.typy / IANA-MIME

K určení typu obsahu v požadavku cURL můžeme použít příznak -H. Například pošleme MIME typ aplikace / JSON.

curl -X POST -d „uživatelské jméno“: „linuxhint“, „heslo“: „heslo“ -H „Content-Type: application / json“ https: // linuxhint.com / omezené / přihlášení.php

Výše uvedené určuje, že chceme odeslat objekt JSON na zadanou adresu URL. Můžete to použít ke čtení hodnot ze souboru JSON nebo k jeho odeslání jako raw.

Jak číst data ze souboru

Předpokládejme, že chcete zadávat požadavky v příkazovém řádku pomocí cURL, ale máte data k odeslání uložená v souboru. Pomocí Content-Type můžete určit typ média a poté předat cestu k souboru obsahujícímu data. V tomto příkladu ilustruji použití objektu JSON.

Soubor JSON (data.json) obsahuje následující hodnoty:


"username": "linuxhint",
"password": "heslo"

K odeslání těchto dat ze souboru JSON můžeme použít -d a poté předat název souboru, jak je znázorněno v níže uvedeném příkazu:

curl -X POST -H „Content-Type: application / json“ -d „@data.json ”https: // linuxhint.com / omezené / přihlášení.php

Můžete také použít volbu -data-binary.

curl -X POST -H „Content-Type: application / json“ --data-binary „@ / home / user / data.json ”https: // linuxhint.com / omezené / přihlášení.php

K odeslání dat můžete také použít textový soubor; vše, co musíte zadat, je Content-Type jako text / plain.

Například textový soubor (data.txt) obsahující následující hodnoty

uživatelské jméno = linuxhint & heslo = heslo

Pomocí příkazu cURL jednoduše odešlete požadavek jako:

curl -X POST -H „Content-Type: text / plain“ -d „data.txt ”https: // linuxhint.com / omezené / přihlášení.php

Můžete použít další typy souborů, které můžete použít, například XML, HTML a mnoho dalších.

Závěr

V tomto kurzu jsme diskutovali o tom, jak provádět POST požadavky a předávat data v různých formátech. Je dobré mít na paměti, že kromě toho, že je CURL velmi silný, je také velmi flexibilní. Může kombinovat kolekci možností v jediném příkazu a vytvářet tak silné požadavky. Pro více informací doporučuji dokumentaci cURL, protože je dobře napsaná.

https: // zvlnění.se / dokumenty /

Děkuji za přečtení a bavte se s CURL.

Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...