Desejo enviar a saída uptime
e os df
comandos para um aplicativo Web usando cURL. Eu tentei:
uptime | curl http://someurl.com -T -
Mas isso não pareceu enviar os dados.
Qual é a maneira correta de enviar a saída de um comando para cURL como um parâmetro POST? (ou wget, se for muito mais fácil)
>
não um pipe|
? Também dê uma olhadaxargs
.--post-data=string
): gnu.org/software/wget/manual/wget.html#HTTP- Opções-T
comhttp[s]://
usos PUT, não POST.Respostas:
Você pode usar a opção -d em curl com um argumento @ - para aceitar a entrada de um pipe. Você precisará construir os pares de valores-chave. Tente o seguinte:
Os backticks (`) indicam que o comando incluído (neste caso, o tempo de atividade) deve ser executado, e o texto entre aspas do backtick deve ser substituído pela saída do comando executado.
fonte
df
) que você pode querer usarcurl --data-binary @- URL
ou em versões mais recentes do curl:uptime | curl --data-urlencode time@- URL