2016-11-03 7 views
2

Привет Я пытаюсь проверить токен аутентификации я реализовали с ФПИ использованием httpie согласно руководства в этом следующем linkТокен аутентификации Джанго Rest Framework HTTPie

Следующая команда:

http GET 127.0.0.1:8000/api/projects/ 'Authorization: Token b453919a139448c5891eadeb14bf1080a2624b03' 

дает следующее ошибка.

usage: http [--json] [--form] [--pretty {all,colors,format,none}] 
     [--style STYLE] [--print WHAT] [--headers] [--body] [--verbose] 
     [--all] [--history-print WHAT] [--stream] [--output FILE] 
     [--download] [--continue] 
     [--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH] 
     [--auth USER[:PASS]] [--auth-type {basic,digest}] 
     [--proxy PROTOCOL:PROXY_URL] [--follow] 
     [--max-redirects MAX_REDIRECTS] [--timeout SECONDS] 
     [--check-status] [--verify VERIFY] 
     [--ssl {ssl2.3,ssl3,tls1,tls1.1,tls1.2}] [--cert CERT] 
     [--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version] 
     [--traceback] [--default-scheme DEFAULT_SCHEME] [--debug] 
     [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]http: error: argument REQUEST_ITEM: "Token" is not a valid value 

Так я решил отличаться от учебника и сделал мой запрос, как этот

http GET 127.0.0.1:8000/api/projects/ 'Authorization:b453919a139448c5891eadeb14bf1080a2624b03' 

следующее сообщение было возвращено

HTTP/1.0 401 Unauthorized 
Allow: GET, POST, HEAD, OPTIONS 
Content-Type: application/json 
Date: Thu, 03 Nov 2016 09:52:05 GMT 
Server: WSGIServer/0.1 Python/2.7.10 
Vary: Accept 
WWW-Authenticate: Token 
X-Frame-Options: SAMEORIGIN 

    { 
    "detail": "Authentication credentials were not provided." 
    } 

Любая помощь, оказываемая было бы здорово. Я работаю на локальной машине дома.

+0

Вы пробовали запрос на почтальон? Если он работает там, это должно быть проблемой в том, как вы отправляете свой запрос через HTTPie. –

ответ

4

Решение прост как есть. Используйте двойные кавычки вместо одинарных кавычек вопреки тому, что DRF Documentation говорит

Для завитка использования команды ниже

curl -H "Authorization: Token b453919a139448c5891eadeb14bf1080a2624b03" http://127.0.0.1:8000/api/projects/ 

Для HTTPie использовать

http GET http://127.0.0.1:8000/api/projects/ "Authorization: Token b453919a139448c5891eadeb14bf1080a2624b03" 

Обратите внимание, что двойные кавычки используются вопреки одинарные кавычки в документации.

Смежные вопросы