From 2203c3bccd5e4888a16d73247d540fd6e359d29c Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 14 Feb 2011 12:23:55 -0500 Subject: [PATCH] Added CookieJar --- requests/core.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/requests/core.py b/requests/core.py index f434d59..bd1472a 100644 --- a/requests/core.py +++ b/requests/core.py @@ -73,7 +73,9 @@ class Request(object): self.params = {} self.data = {} self.response = Response() + self.auth = None + self.cookiejar = None self.sent = False @@ -98,20 +100,31 @@ class Request(object): def _get_opener(self): """Creates appropriate opener object for urllib2.""" - + + _handlers = [] + if self.auth: # create a password manager authr = urllib2.HTTPPasswordMgrWithDefaultRealm() authr.add_password(None, self.url, self.auth.username, self.auth.password) - handler = urllib2.HTTPBasicAuthHandler(authr) - opener = urllib2.build_opener(handler) + auth_handler = urllib2.HTTPBasicAuthHandler(authr) + + _handlers.append(auth_handler) # use the opener to fetch a URL - return opener.open - else: - return urllib2.urlopen +# return opener.open + if self.cookiejar: + + cookie_handler = urllib2.HTTPCookieProcessor(cookiejar) + _handlers.append(cookie_handler) + + opener = urllib2.build_opener(*_handlers) + + return opener.open +# else: +# return urllib2.urlopen def _build_response(self, resp): -- 2.34.1