2013-01-01 4 views
4

이와 비슷한 많은 질문이 있지만 그 중 아무도 나를 도왔습니다. 기본적으로 WSGI start_response() 메소드 link을 사용하고 있습니다.쿠키를 설정하고 파이썬과 WSGI로 검색하십시오.

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

내가 꽤 잘 모르겠어요 :이 같은 응답을 시작 튜플 [('설정 - 쿠키', '토큰 = THE_TOKEN')]으로 응답 더미 헤더를 설정하고 추가하려고 제대로 작동하지만 여기는 setting cookies입니다. 이제 헤더가 정확하고 토큰을 인증하려는 요청을 따르고 있다고 가정 해 봅시다. 과거에 설정된 쿠키/헤더를 잡는 올바른 방법은 무엇입니까?

내가 읽고 내가 이런 걸 필요가 찾아 왔습니다 :

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

을하지만 빈 문자열 모든 시간을 산출하고있다, 그래서 난 그냥 헤더/쿠키 설정이 정확하지 않은 있으리라 믿고있어.

고마워

난 당신이 쿠키에서 유용한 동작을 얻을 뭔가를 시도하는 명시 적 경로를 설정할 필요가 있다고 생각
+1

팁 : 당신의 WSGI 응용 프로그램 같은 것을 함께 반환해야 'return [ "Success"]'not 'return "Success"'. – SingleNegationElimination

답변

6

: ...

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) 
+0

신난다, 이것은 나를 위해 일했다, 감사합니다! –

관련 문제