...エスケープと別の魔法なし
本当か?
--raw-payload
ようなオプションの下
はい、 STDIN
を介して渡されたデータはすべて、リクエストの本文として送信されます。例:
$ echo 'raw payload' | http httpbin.org/post
ありがとう、ヤクブ!
他のより--ignore-stdin
私は内部のこのの一切の言及が表示されませんhttp --help
、それはヘルプテキストに良い加えかもしれませんか、? (また、これで素晴らしい仕事です!)
http httpbin.org/post <<< 'raw payload'
使用することもできます
だが、
$ echo 'running' | http -v put localhost:5000/state
Content-Type: application/json
ヘッダーを送信しています。
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
もちろん、受信側での適切な実装は、それをJSONとして解析しようとして失敗します。
@furkanmustafa application/json
は、 httpie
使用されるデフォルトのコンテンツタイプです。
リクエストでコンテンツタイプを明示的に指定すると、解決されます。
$ echo 'running' |http httpbin.org/post Content-Type:text/plain
または圧縮されたコンテンツを送信する場合でも:
$ echo 'running' |gzip |http httpbin.org/post Content-Type:text/plain Content-Encoding:gzip
http httpbin.org/post <<< 'raw payload'
使用することもできます
PowerShellで動作していないようで、 'rawBody' | http post :8080/api/events
は私のために動作しました
最も参考になるコメント
はい、
STDIN
を介して渡されたデータはすべて、リクエストの本文として送信されます。例:https://github.com/jakubroztocil/httpie#redirected -input