Cómo usar datos de publicación de curl desde el archivo

Cómo usar datos de publicación de curl desde el archivo

Curl es una utilidad de línea de comandos gratuita y de código abierto que se utiliza para transferir datos a o desde un host remoto con una mínima interacción 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 de bash. También proporciona características como autenticación de usuario, túneles proxy, currículum de descarga, 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ítanme mencionar que esta no es una guía para principiantes para curl; Necesita un grado de conocimiento previo, especialmente el conocimiento de los protocolos de red, las solicitudes HTTP y más.

Antes de que podamos sumergirnos en el uso de curl para realizar solicitudes de publicación, primero obtengamos la configuración.

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

curl -Help

Si recibe un error:

-bash: curl: comando no encontrado

Deberá instalarlo antes de continuar.

Use el Administrador de paquete predeterminado para completar la instalación como se muestra en los comandos a continuación:

actualización de sudo apt-get
sudo apt -get instalación curl -y

Antes de discutir cómo publicar datos de un archivo con Curl, permíteme hablar sobre la solicitud de publicación en breve. Como de costumbre, si ya está familiarizado con esto, puede sentirse libre de omitir por delante; De lo contrario, quédate.

Solicitud postal de curl

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

Ahora:

Por favor, no confunda el método con PUT; Aunque son bastante similares, tienen sus diferencias.

Los datos enviados utilizando una solicitud de publicación se almacenan principalmente en el cuerpo de solicitud de la solicitud HTTP.

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

Post /restringido /inicio de sesión.PHP HTTP/1.1 Host: Linuxhint.Com Content-Type: Application/X-www-form-urlencoded username = Linuxhint & Password = Password

Para enviar la solicitud de publicación anterior usando Curl, podemos especificar los comandos como:

Curl -x Post -d “UserName = LinuxHint & Password = Password” https: // Linuxhint.com/restringido/inicio de sesión.php

En el comando anterior, utilizamos la opción -d para decirle a Curl que incluya los encabezados predeterminados, que es de tipo contenido: aplicación/x-www-form-urlencoded

La opción -x especifica el método de solicitud HTTP para usar, en este caso, solicitud de publicación HTTP.

curl especificar tipo de contenido

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

Si desea aprender sobre los tipos de MIME, considere el recurso proporcionado a continuación:

https: // linkfy.a/tipos de mimes

Para especificar el tipo de contenido en una solicitud de curl, podemos usar el indicador -h. Por ejemplo, enviemos MIME Tipo de aplicación/JSON.

curl -x post -d "nombre de usuario": "linuxhint", "contraseña": "contraseña" -h "contenido -type: aplicación/json" https: // linuxhint.com/restringido/inicio de 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 RAW.

Cómo leer datos de un archivo

Supongamos que desea realizar solicitudes en la línea de comandos usando Curl, pero tiene los datos para enviar almacenados en un archivo. Puede usar el tipo de contenido para especificar el tipo de medio y luego pasar la ruta del archivo que contiene los datos. Para este ejemplo, ilustraré usando 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 el -d y luego pasar el nombre de archivo como se muestra en el comando a continuación:

curl -x post -h “Content -type: Application/JSON” -d “@data.json "https: // linuxhint.com/restringido/inicio de sesión.php

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

CURL -X POST -H "Content -Type: Application/JSON" --Data -Binary "@/home/user/data.json "https: // linuxhint.com/restringido/inicio de sesión.php

También puede usar un archivo de texto para enviar los datos; Todo lo que necesita especificar es el tipo de contenido como texto/simple.

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

UserName = LinuxHint & Password = Password

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

CURL -X POST -H "Tipo de contenido: Text/Plain" -D "Datos.txt "https: // linuxhint.com/restringido/inicio de 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 hacer solicitudes postales y aprobar datos en varios formatos. Es bueno tener en cuenta que, además de ser muy poderoso, el rizo también es muy flexible. Puede combinar una colección de opciones en un solo comando para crear solicitudes potentes. Para obtener más información, recomiendo la documentación de curl ya que está bien escrito.

https: // curl.SE/DOCS/

Gracias por leer y divertirse con Curl.