Saya ingin mengirim output uptime
dan df
perintah ke aplikasi web menggunakan cURL. Saya mencoba:
uptime | curl http://someurl.com -T -
Tapi itu sepertinya tidak mengirim data.
Apa cara yang tepat untuk mengirim output dari perintah ke cURL sebagai parameter POST? (atau lupa kalau itu jauh lebih mudah)
>
bukan pipa|
? Lihat jugaxargs
.--post-data=string
): gnu.org/software/wget/manual/wget.html#HTTP- Opsi-T
denganhttp[s]://
menggunakan PUT, bukan POST.Jawaban:
Anda bisa menggunakan opsi -d di curl dengan argumen @ - untuk menerima input dari sebuah pipa. Anda perlu membuat sendiri pasangan nilai kunci. Coba ini:
Backtick (`) menunjukkan bahwa perintah terlampir (dalam hal ini uptime) harus dieksekusi, dan teks yang dikutip backtick diganti dengan output dari perintah yang dieksekusi.
sumber
df
) Anda mungkin ingin menggunakancurl --data-binary @- URL
atau dalam versi curl yang lebih baru:uptime | curl --data-urlencode time@- URL