... w / o melarikan diri dan sihir lainnya
Benarkah?
Di bawah opsi seperti --raw-payload
Ya, semua data yang dikirimkan melalui STDIN
akan dikirim sebagai badan permintaan, misalnya:
$ echo 'raw payload' | http httpbin.org/post
Terima kasih Jakub!
Selain --ignore-stdin
Saya tidak melihat ada yang menyebutkan ini di dalam http --help
, apakah ini bisa menjadi tambahan yang bagus untuk teks bantuan? (Juga, pekerjaan luar biasa dalam hal ini!)
Anda juga dapat menggunakan http httpbin.org/post <<< 'raw payload'
Tapi,
$ echo 'running' | http -v put localhost:5000/state
mengirim Content-Type: application/json
header.
PUT /state HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 8
Content-Type: application/json
Host: localhost:5000
User-Agent: HTTPie/0.9.9
running
dan implementasi yang tepat di pihak penerima tentu saja mencoba menguraikannya sebagai JSON, dan gagal.
@furkanmustafa application/json
adalah jenis konten default yang digunakan oleh httpie
.
Jika Anda secara eksplisit menyatakan tipe konten dalam permintaan Anda, itu akan diselesaikan:
$ echo 'running' |http httpbin.org/post Content-Type:text/plain
atau bahkan dengan mengirim konten terkompresi:
$ echo 'running' |gzip |http httpbin.org/post Content-Type:text/plain Content-Encoding:gzip
Anda juga dapat menggunakan
http httpbin.org/post <<< 'raw payload'
sepertinya tidak berfungsi dengan PowerShell, 'rawBody' | http post :8080/api/events
berhasil untuk saya
Komentar yang paling membantu
Ya, semua data yang dikirimkan melalui
STDIN
akan dikirim sebagai badan permintaan, misalnya:https://github.com/jakubroztocil/httpie#redirected -input