Cookie

获取Cookie

使用aiohttp.web.Requestcookies对象,可以获取已设置的Cookie键值对的dict。

设置Cookie

使用aiohttp.web.Responseset_cookie(...)方法,可以设置Cookie。参数含义如下:

示例

from aiohttp.web import Request, Response
from lessweb import Bridge, post_mapping, get_mapping

@post_mapping('/set')
async def set_user(*, name: str):
    resp = Response(text='ok', content_type='text/html', charset='utf-8')
    resp.set_cookie('username', name)
    return resp

@get_mapping('/get')
async def get_user(request: Request):
    username = request.cookies.get('username')
    return {'user': username}

if __name__ == '__main__':
    bridge = Bridge()
    bridge.add_route(set_user)
    bridge.add_route(get_user)
    bridge.run_app()

请求1: curl -i -X POST "http://localhost:8080/set?name=John"
返回:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 2
Set-Cookie: username=John; Path=/
...

ok

请求2: curl --cookie "username=John" "http://localhost:8080/get"
返回: {"user": "John"}