appending multiple querystring variables with curl

darren picture darren · Jun 11, 2012 · Viewed 24k times · Source

I keep getting a 401 response when I try to use authentication = ApiKeyAuthentication() in my ModelResource. I looked at Django Tastypie: How to Authenticate with API Key and he uses the get parameters to solve his issue. If I try use get parameters it picks up username but not api_key!

This works in browser

http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50

Sending via curl in terminal doesn't pickup api_key parameter

curl --dump-header - http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50

Why when using curl and appending 2 querystring parameters like ?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50 does it only pickup the first one. Is this not the correct way?

Answer

rockingskier picture rockingskier · Jun 11, 2012

Typing & in the command line means run the preceding command in the background (thanks @Maccesch), because of this anything after the & is being treated as a new command.

Try wrapping the url in quotes.

curl --dump-header - "http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50"