これを複製として投稿する前に; SOで見つけた提案の多くを試しました。
これまで、私はpostmanを使用してJava Webサービスにデータを投稿してきました。次のようにうまく機能します。
カールを使用して同じことをしたいので、次の方法で試しました:
$ curl -X POST --data "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/
残念ながら、それらはすべて受信側で空の未加工のボディを示しています。
私がここで間違っていることを誰か知っていますか?カールリクエストは郵便配達員のリクエストとどう違うのですか?すべてのヒントを歓迎します!
curlの--data
はデフォルトでContent-Type: application/x-www-form-urlencoded
をリクエストヘッダーで送信します。ただし、Postmanのraw
bodyモードを使用する場合、Postmanは要求ヘッダーでContent-Type: text/plain
を送信します。
したがって、Postmanと同じことを実現するには、curlに-H "Content-Type: text/plain"
を指定します。
curl -X POST -H "Content-Type: text/plain" --data "this is raw data" http://78.41.xx.xx:7778/
Postmanによって送信された完全なリクエストを確認したい場合は、パックアプリのデバッグを有効にすることができます。すべての手順については、 このリンク を確認してください。次に、アプリを調べ(Postmanで右クリック)、Postmanから送信されたすべてのリクエストをnetwork
タブで表示できます。