curl: no URL specified for restful api

I have been asked to call a restful api via Unix environment. Is there a bug in my command so i got blow issue?

I have tried looking at the curl --help but the thing that I could find that might help would be the way to pass in param key-pair. Could it be possible to give me an example how to debug such api calling?

$ curl -d param1=xxx&param2=yyy -X POST
[1] 10276
[2] 10277
-ksh: -X: not found [No such file or directory]
[2] + Done curl -d param1=xxx&param2=yyy -X POST
$ curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information

Cheers

2

3 Answers

You need to enclose your params in single or double quotes. e.g.

curl -d 'param1=xxx&param2=yyy' -X POST 

This is because the & operator in BASH is used to signify that the command should continue to run the in background, hence it must be quoted or escaped if you want a literal ampersand.

I think you need to add double quotes to quote arguments:

curl -d "param1=xxx&param2=yyy" -X POST 

P.S. On Windows you need to use double quotes, not single quotes. But in Unix, it supports both double and single quotes to quote arguments. So below cmd are fine also:

curl -d 'param1=xxx&param2=yyy' -X POST 

envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like