rizo

Cómo utilizar cURL Post Data from File

Cómo utilizar cURL Post Data from File

cURL es una utilidad de línea de comandos gratuita y de código abierto que se utiliza para transferir datos hacia o desde un host remoto con una interacción mínima del usuario. cURL funciona con protocolos primarios como HTTP, FTP, SCP y SFTP.

Permite a los usuarios cargar y descargar datos utilizando comandos únicos o scripts bash. También proporciona funciones como autenticación de usuario, túnel de proxy, descarga de currículum, cargas basadas en formularios, certificados SSL y mucho más. Es seguro decir que cURL es más que un cliente HTTP.

Este tutorial lo guiará a través de una funcionalidad de cURL que permite a los usuarios realizar solicitudes de publicación HTTP utilizando datos de archivo.

Antes de comenzar, permítame mencionar que esta no es una guía para principiantes de cURL; necesita un grado de conocimiento previo, especialmente conocimiento de protocolos de red, solicitudes HTTP y más.

Antes de que podamos sumergirnos en el uso de cURL para realizar solicitudes POST, primero permítanos configurar.

Cómo instalar cURL

En la mayoría de los casos, encontrará cURL instalado en las principales distribuciones de Linux de forma predeterminada. Para confirmar que tiene cURL, use el comando

rizo --ayuda

Si recibe un error:

-bash: curl: comando no encontrado

Deberá instalarlo antes de continuar.

Utilice el administrador de paquetes predeterminado para completar la instalación como se muestra en los siguientes comandos:

sudo apt-get update
sudo apt-get install curl -y

Antes de discutir cómo POST datos de un archivo con cURL, permítame hablar brevemente sobre la solicitud POST. Como de costumbre, si ya está familiarizado con esto, puede seguir adelante; de lo contrario, quédate.

Solicitud cURL POST

La solicitud de publicación HTTP es uno de los métodos de solicitud HTTP / HTTPS más populares que se utilizan para enviar datos a un host remoto para crear o actualizar un recurso.

Ahora:

No confunda el método con PUT; aunque son bastante similares, tienen sus diferencias.

Los datos enviados mediante una solicitud POST se almacenan principalmente en el cuerpo de la solicitud de la solicitud HTTP.

Por ejemplo, considere la solicitud POST a continuación que envía el nombre de usuario y la contraseña, así como sus valores.

POST / restringido / iniciar sesión.php HTTP / 1.1 anfitrión: linuxhint.com Content-Type: application / x-www-form-urlencoded username = linuxhint & password = contraseña

Para enviar la solicitud POST anterior usando cURL, podemos especificar los comandos como:

curl -x POST -d "nombre de usuario = linuxhint & contraseña = contraseña" https: // linuxhint.com / restringido / iniciar sesión.php

En el comando anterior, usamos la opción -d para decirle a cURL que incluya los encabezados predeterminados, que es Content-Type: application / x-www-form-urlencoded

La opción -X especifica el método de solicitud HTTP que se utilizará, en este caso, solicitud HTTP POST.

cURL Especificar el tipo de contenido

En algunos casos, es posible que queramos especificar [explícitamente] el tipo de contenido al enviar la solicitud. La entidad Content-Type en el encabezado especifica el tipo de medio del recurso que estamos enviando. El tipo de medio también se conoce comúnmente como tipo MIME.

Si desea obtener más información sobre los tipos MIME, considere el recurso que se proporciona a continuación:

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

Para especificar el tipo de contenido en una solicitud cURL, podemos usar la bandera -H. Por ejemplo, enviemos MIME Tipo de aplicación / JSON.

curl -X POST -d "nombre de usuario": "linuxhint", "contraseña": "contraseña" -H "Tipo de contenido: aplicación / json" https: // linuxhint.com / restringido / iniciar sesión.php

Lo anterior especifica que queremos enviar un objeto JSON a la URL proporcionada. Puede usar esto para leer los valores de un archivo JSON o enviarlo como sin formato.

Cómo leer datos de un archivo

Suponga que desea realizar solicitudes en la línea de comandos usando cURL, pero tiene los datos para enviar almacenados en un archivo. Puede usar Content-Type para especificar el tipo de medio y luego pasar la ruta del archivo que contiene los datos. Para este ejemplo, ilustraré el uso de un objeto JSON.

El archivo JSON (datos.json) contiene los siguientes valores:


"nombre de usuario": "linuxhint",
"contraseña": "contraseña"

Para enviar estos datos desde un archivo JSON, podemos usar -d y luego pasar el nombre del archivo como se muestra en el siguiente comando:

curl -X POST -H "Tipo de contenido: aplicación / json" -d "@data.json ”https: // linuxhint.com / restringido / iniciar sesión.php

También puede usar la opción -data-binary.

curl -X POST -H “Tipo de contenido: aplicación / json” --data-binary “@ / home / user / data.json ”https: // linuxhint.com / restringido / iniciar sesión.php

También puede utilizar un archivo de texto para enviar los datos; todo lo que necesita especificar es el tipo de contenido como texto / sin formato.

Por ejemplo, un archivo de texto (datos.txt) que contiene los siguientes valores

nombre de usuario = linuxhint & contraseña = contraseña

Usando el comando cURL, simplemente envíe la solicitud como:

curl -X POST -H "Tipo de contenido: texto / datos sin formato" -d ".txt ”https: // linuxhint.com / restringido / iniciar sesión.php

Puede usar otros tipos de archivos que puede usar, como XML, HTML y muchos más.

Conclusión

En este tutorial, hemos discutido cómo realizar solicitudes POST y pasar datos en varios formatos. Es bueno tener en cuenta que además de ser muy potente, cURL también es muy flexible. Puede combinar una colección de opciones en un solo comando para crear solicitudes poderosas. Para obtener más información, recomiendo la documentación de cURL ya que está bien escrita.

https: // rizo.se / docs /

Gracias por leer y divertirse con cURL.

Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...