2012-06-11 32 views
24

Tôi tiếp tục nhận được phản hồi 401 khi tôi cố gắng sử dụng xác thực = ApiKeyAuthentication() trong ModelResource của tôi. Tôi đã xem Django Tastypie: How to Authenticate with API Key và anh ấy sử dụng các thông số nhận được để giải quyết vấn đề của mình. Nếu tôi cố gắng sử dụng có được tham số nó chọn lên tên người dùng nhưng không api_key!gắn nhiều biến truy vấn với curl

này hoạt động trong trình duyệt

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

Gửi qua curl trong thiết bị đầu cuối không đón tham số API_KEY

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

Tại sao khi sử dụng curl và phụ thêm 2 thông số chuỗi truy vấn như ?username=darren&api_key=9999d318e43b8055ae32d011be5b045ad61dad50 làm nó chỉ lấy cái đầu tiên. Đây có phải là cách chính xác không?

Trả lời

75

& trong dòng lệnh có nghĩa là chạy lệnh trước trong nền (nhờ @Maccesch), vì bất cứ điều gì này sau khi & đang được coi là một lệnh mới.

Thử gói url trong dấu ngoặc kép.

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

+3

Bạn đúng, '&' có nghĩa là chạy lệnh preceeding trong nền. Chuỗi sau đó được coi là một lệnh mới. – Maccesch

+0

@Maccesch, chúc mừng, tôi có cảm giác đó là khi tôi đang chạy một cá thể Apache Solr trên máy ảo cục bộ của mình. – rockingskier

+0

@rockingskier, bạn đã cứu mạng tôi! Bao bọc URL trong dấu ngoặc kép! –

Các vấn đề liên quan