Com s'utilitzen les dades de publicació de cURL des d'un fitxer

How Use Curl Post Data From File



cURL és una utilitat de línia d'ordres gratuïta i de codi obert que s'utilitza per transferir dades a o des d'un host remot amb una interacció mínima de l'usuari. cURL funciona amb protocols principals com HTTP, FTP, SCP i SFTP.

Permet als usuaris carregar i descarregar dades mitjançant comandes individuals o scripts bash. També proporciona funcions com autenticació d’usuaris, túnel de proxy, currículum de descàrrega, càrregues basades en formularis, certificats SSL i molt més. És segur dir que cURL és més que un client HTTP.







Aquest tutorial us guiarà mitjançant una funcionalitat de cURL que permet als usuaris realitzar sol·licituds de publicació HTTP mitjançant dades de fitxers.



Abans de començar, permeteu-me esmentar que aquesta no és una guia per a principiants sobre el CURL; necessiteu un cert coneixement previ, especialment coneixement de protocols de xarxa, sol·licituds HTTP i molt més.



Abans de poder aprofundir en l’ús de cURL per dur a terme sol·licituds POST, primer configurem-nos.





Com instal·lar cURL

En la majoria dels casos, trobareu cURL instal·lat a les principals distribucions de Linux per defecte. Per confirmar que teniu cURL, utilitzeu l'ordre

rínxol - ajuda

Si apareix un error:



-bash: curl:comandamentno trobat

Haureu d’instal·lar-lo abans de continuar.

Utilitzeu el gestor de paquets predeterminat per completar la instal·lació tal com es mostra a les ordres següents:

suo apt-get update

suo apt-get installrínxol-i

Abans de parlar sobre com publicar dades d'un fitxer amb cURL, permeteu-me parlar breument de la sol·licitud POST. Com és habitual, si ja esteu familiaritzats amb això, podeu saltar endavant; en cas contrari, enganxeu-vos.

Sol·licitud CURL POST

La sol·licitud de publicació HTTP és un dels mètodes de sol·licitud HTTP / HTTPS més populars que s’utilitzen per enviar dades a un amfitrió remot per crear o actualitzar un recurs.

Ara :

No confongueu el mètode amb PUT; tot i que són força similars, tenen les seves diferències.

Les dades enviades mitjançant una sol·licitud POST s’emmagatzemen principalment al cos de la sol·licitud HTTP.

Per exemple, tingueu en compte la sol·licitud POST següent que envia el nom d'usuari i la contrasenya, així com els seus valors.

POST/restringit/HTTP login.php/1.1Amfitrió: linuxhint.com Tipus de contingut: aplicació/x-www-form-urlencodednom d'usuari= linuxhint&contrasenya= contrasenya

Per enviar la sol·licitud POST anterior amb cURL, podem especificar les ordres com:

rínxol-xPOST-d nom d'usuari= linuxhint&contrasenya= contrasenya https://linuxhint.com/restringit/login.php

A l'ordre anterior, hem utilitzat l'opció -d per dir a cURL que inclogui les capçaleres predeterminades, que és Content-Type: application / x-www-form-urlencoded

L'opció -X especifica el mètode de sol·licitud HTTP per utilitzar, en aquest cas, la sol·licitud HTTP POST.

cURL Especifiqueu el tipus de contingut

En alguns casos, és possible que vulgueu especificar [explícitament] el tipus de contingut a l’hora d’enviar la sol·licitud. L'entitat Content-Type de la capçalera especifica el tipus de suport del recurs que estem enviant. El tipus de suport també es coneix amb el nom de tipus MIME.

Si voleu obtenir més informació sobre els tipus MIME, tingueu en compte el recurs que es proporciona a continuació:

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

Per especificar el tipus de contingut en una sol·licitud de cURL, podem utilitzar el senyalador -H. Per exemple, enviem el tipus d'aplicació MIME / JSON.

rínxol-XPOST-d {nom d'usuari: linuxhint, contrasenya: contrasenya} -HTipus de contingut: aplicació/json https://linuxhint.com/restringit/login.php

L'anterior especifica que volem enviar un objecte JSON a l'URL proporcionat. Podeu utilitzar-lo per llegir els valors d'un fitxer JSON o enviar-lo com a cru.

Com llegir dades d’un fitxer

Suposem que voleu fer sol·licituds a la línia d'ordres mitjançant cURL, però que teniu les dades per enviar emmagatzemades en un fitxer. Podeu utilitzar el tipus de contingut per especificar el tipus de suport i després passar la ruta del fitxer que conté les dades. Per a aquest exemple, il·lustraré amb un objecte JSON.

El fitxer JSON (data.json) conté els valors següents:

{
'nom d'usuari':'linuxhint',
'contrasenya':'contrasenya'
}

Per enviar aquestes dades des d’un fitxer JSON, podem utilitzar la -d i després passar el nom del fitxer tal com es mostra a l’ordre següent:

rínxol-XPOST-HTipus de contingut: aplicació/json-d @data.json https://linuxhint.com/restringit/login.php

També podeu utilitzar l’opció –data-binary.

rínxol-XPOST-HTipus de contingut: aplicació/json--data-binari @ /a casa/usuari/data.json https://linuxhint.com/restringit/login.php

També podeu utilitzar un fitxer de text per enviar les dades; tot el que heu d’especificar és el tipus de contingut com a text / pla.

Per exemple, un fitxer de text (data.txt) que conté els valors següents

nom d'usuari= linuxhint&contrasenya= contrasenya

Amb l'ordre cURL, simplement envieu la sol·licitud com:

rínxol-XPOST-HTipus de contingut: text/plana-ddata.txt https://linuxhint.com/restringit/login.php

Podeu utilitzar altres tipus de fitxers que podeu utilitzar, com ara XML, HTML i molts altres.

Conclusió

En aquest tutorial, hem comentat com fer sol·licituds POST i passar dades en diversos formats. És bo tenir en compte que, a més de ser molt potent, el cURL també és molt flexible. Pot combinar una col·lecció d'opcions en una sola ordre per crear sol·licituds potents. Per obtenir més informació, recomano la documentació del cURL, ja que està ben redactada.

https://curl.se/docs/

Gràcies per llegir i diverteix-te amb cURL.