get cookies from response

#116
This commit is contained in:
Kenneth Reitz
2011-08-17 01:23:49 -04:00
parent b0a0b509da
commit 7e255177dc
2 changed files with 32 additions and 0 deletions
+8
View File
@@ -20,6 +20,7 @@ from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPForcedBasicA
from .structures import CaseInsensitiveDict
from .packages.poster.encode import multipart_encode
from .packages.poster.streaminghttp import register_openers, get_handlers
from .utils import dict_from_cookiejar
from .exceptions import RequestException, AuthenticationError, Timeout, URLRequired, InvalidMethod
@@ -187,6 +188,12 @@ class Request(object):
response.headers = CaseInsensitiveDict(getattr(resp.info(), 'dict', None))
response.read = resp.read
response.close = resp.close
if self.cookiejar:
response.cookies = dict_from_cookiejar(self.cookiejar)
except AttributeError:
pass
@@ -397,6 +404,7 @@ class Response(object):
self.history = []
#: The Request that created the Response.
self.request = None
self.cookies = None
def __repr__(self):
+24
View File
@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
"""
requests.utils
~~~~~~~~~~~~~~
This module provides utlity functions that are used within Requests
that are also useful for external consumption.
"""
def dict_from_cookiejar(cookiejar):
"""Returns a key/value dictoinary from a CookieJar."""
cookie_dict = {}
for _, cookies in cookiejar._cookies.items():
for _, cookies in cookies.items():
for cookie in cookies.values():
cookie_dict[cookie.name] = cookie.value
return cookie_dict