Ich möchte die Ausgabe von uptime
und df
Befehle mit cURL an eine Web-App senden . Ich habe es versucht:
uptime | curl http://someurl.com -T -
Aber das schien die Daten nicht zu senden.
Wie kann die Ausgabe eines Befehls als POST-Parameter ordnungsgemäß an cURL gesendet werden? (oder wget wenn das viel einfacher ist)
>
nicht für eine Pipe zu verwenden|
? Schauen Sie sich auch anxargs
.--post-data=string
): gnu.org/software/wget/manual/wget.html#HTTP- Optionen-T
mithttp[s]://
verwendet PUT, nicht POST.Antworten:
Sie können die Option -d in curl mit einem @ - Argument verwenden, um Eingaben von einer Pipe zu akzeptieren. Sie müssen die Schlüssel-Wert-Paare selbst erstellen. Versuche dies:
Die Backticks (`) geben an, dass der beiliegende Befehl (in diesem Fall die Betriebszeit) ausgeführt und der mit Backtick zitierte Text durch die Ausgabe des ausgeführten Befehls ersetzt werden soll.
quelle
df
) enthält, möchten Sie möglicherweisecurl --data-binary @- URL
oder in neueren Versionen von curl verwenden:uptime | curl --data-urlencode time@- URL