5

これに似た質問がたくさんありますが、どれも私を助けてくれませんでした。基本的に、私はWSGI start_response()メソッドリンクを使用しています。タプル[('Set-Cookie'、'token = THE_TOKEN')]を使用して応答にダミーヘッダーを設定し、それを追加して次のように応答を開始しようとしました。

status   = '200 OK'
response = 'Success'
start_response(status,[('Set-Cookie', "DMR_TOKEN=DMR_TOKEN")])
return response

それが正しく機能しているかどうかはよくわかりませんが、ここではCookieを設定しています。ここで、ヘッダーが正しいと仮定し、次のリクエストでトークンを認証したいとします。過去に設定されたそのCookie/ヘッダーをキャッチする正しい方法は何でしょうか?

私は読んでいて、私はこのようなものが必要であることがわかりました:

(environ.get("HTTP_COOKIE",""))

しかし、それは常に空の文字列を生成しているので、ヘッダー/Cookieが正しく設定されていないと仮定しています。

みんなありがとう

4

2 に答える 2

8

Cookie から有用な動作を取得するには、パスを明示的に設定する必要があると思います。次のようなものを試してください:...

from Cookie import SimpleCookie

def my_app(environ, start_response):
    session_cookie = SimpleCookie()
    session_cookie['session'] = "somedata"
    session_cookie['session']["Path"] = '/'

    headers = []
    headers.extend(("set-cookie", morsel.OutputString())
                    for morsel
                    in session_cookie.values())

    start_response("200 OK", headers)
于 2013-01-01T02:03:23.113 に答える