用curl附加多个查询字符串变量 [英] appending multiple querystring variables with curl
问题描述
当我尝试在我的ModelResource中使用authentication = ApiKeyAuthentication()时,我总是得到401响应。
我查看了 Django Tastypie:如何使用API密钥进行身份验证,他使用get参数来解决他的问题。如果我尝试使用get参数,它会选择用户名而不是api_key!
这在浏览器中有效
http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50
通过curl在终端中发送api_key参数
curl --dump-header - http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50
为什么使用curl和追加两个查询字符串参数,如
?username = darren& api_key = 9999d318e43b8055ae32d011be5b045ad61dad50
它只拾取第一个。这不是正确的方法吗?解决方案键入
&
命令行意味着在后台运行前面的命令(感谢@Maccesch),因为&
被视为一个新命令之后的任何事情。
尝试用引号包装网址。
curl --dump-header - http://127.0.0.1:8000/api/v1/spot/8/?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50
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?解决方案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"
这篇关于用curl附加多个查询字符串变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!