2017-03-02 8 views

答えて

5

問題は要求ヘッダーのアンダースコアにあります。

設定API-KEYとしてヘッダ(使用ハイフン、アンダースコアではない)、あなたはいくつかのサーバがちょうどアンダースコアを無視するということである

request.META.get('HTTP_API_KEY') 

この行動の理由を使用して、それをキャプチャすることができます。

は、この関連する質問Why underscores are forbidden in HTTP header names

1

任意のカスタムヘッダーには、METAのHTTP_キーワードが前に付いています。

あなたは時々、キャッシュ用ワニスのようなフレームワークを、前処理

request.META.get('HTTP_API_KEY') 
+0

フムを参照してください動作しません。それはリクエストです。メータの内容:http://pastebin.com/GFRVyv4H – arts777

0

のようなヘッダにアクセスしてみてくださいすることができますので、リクエストに応じた任意のカスタムヘッダーを破棄するように設定されています。おそらく、このようなことはあなたのサーバー上で行われますか?

+0

これはローカルの開発サーバー(Djangoに組み込まれています)です。 – arts777

0

トークンベースの認証とセッションベースの認証の両方を使用しているためです。私はあなたが実際にクッキーから得ることができるセッションを使用して認証されている場合、ブラウザを介してそれをテストしていると仮定し、その後、ユーザーとそのトークンを逆選択します。

ただし、Curlまたは任意のRESTクライアントでテストしてみてください。 request.METAを印刷 - 最初のキーはHTTP_AUTHORIZATIONになります。

関連する問題