Quiero enviar la salida uptime
y los df
comandos a una aplicación web usando cURL. Lo intenté:
uptime | curl http://someurl.com -T -
Pero eso no parecía enviar los datos.
¿Cuál es la forma correcta de enviar la salida de un comando a cURL como parámetro POST? (o wget si eso es mucho más fácil)
>
no una tubería|
? También eche un vistazo axargs
.--post-data=string
): gnu.org/software/wget/manual/wget.html#HTTP- Opciones-T
conhttp[s]://
usos PUT, no POST.Respuestas:
Puede usar la opción -d en curl con un argumento @ - para aceptar la entrada de una tubería. Tendrá que construir los pares clave-valor usted mismo. Prueba esto:
Los backticks (`) denotan que el comando adjunto (en este caso, tiempo de actividad) debe ejecutarse, y el texto entre comillas reemplazado por el resultado del comando ejecutado.
fuente
df
), es posible que desee usarcurl --data-binary @- URL
o en versiones más recientes de curl:uptime | curl --data-urlencode time@- URL