WSGI:如果还没有设置任何cookie .. *** cookie.load(environ ['HTTP_COOKIE'])***导致整个脚本中断

时间:2014-09-08 18:45:21

标签: python python-2.7 mod-wsgi wsgi

Apache error_log:

cookie.load(environ['HTTP_COOKIE'])
KeyError: 'HTTP_COOKIE'

WSGI脚本:

import Cookie
cookie = Cookie.SimpleCookie()

def application(environ, start_response):
    cookie.load(environ['HTTP_COOKIE'])


    a = 'test=2222; path=/; domain=.domain.tld; HttpOnly;'

    x = [('Set-Cookie', a),('Content-Type', 'text/html')]

    start_response('200 OK', x)

    yield 'test'

问题是..当还没有设置cookie时..

 cookie.load(environ['HTTP_COOKIE'])

不知道该怎么做,因此会导致整个脚本中断。

1 个答案:

答案 0 :(得分:0)

您可以检查dict中是否存在密钥:

def application(environ, start_response):
    if 'HTTP_COOKIE' in environ:
        cookie.load(environ['HTTP_COOKIE'])