28

当我尝试在我的 ModelResource 中使用 authentication = ApiKeyAuthentication() 时,我不断收到 401 响应。我查看了Django Tastypie: How to Authenticate with API Key,他使用 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 并附加 2 个查询字符串参数?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50时,它只拾取第一个。这不是正确的方法吗?

4

1 回答 1

84

在命令行中键入&意味着在后台运行前面的命令(感谢@Maccesch),因为这之后的任何内容&都被视为新命令。

尝试将 url 用引号括起来。

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

于 2012-06-11T13:56:59.933 回答