I use simple shell script to test some http server that process POST requests. Usually it looks like:
echo "param1=value1¶m2=value2" | POST localhost/service
But now I want to pass also some json in POST body and that's where I missing point completely.
man POST and google did't help much also.
Seems it must be either very simple or completely impossible.
Thanks for help.
The body format is defined by the Content-Type header. When using a HTML FORM element with method="POST" , this is usually application/x-www-form-urlencoded . Another very common type is multipart/form-data if you use file uploads.
This program can be used to send requests to WWW servers and your local file system. The request content for POST and PUT methods is read from stdin. The content of the response is printed on stdout. Error messages are printed on stderr.
Either I'm missing something, or you should do
$ echo -n '{"json":"data"}' | POST -c "application/json" 'http://localhost/service?param1=value1¶m2=value2'
If you need to put those parameters not as GET, but as POST as well, then look up multipart form data.
You probably need to pass content type using -c:
POST -c application/json
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With