Ich würde gerne Ihre Vorschläge hören, wie man Cookies, die innerhalb einer Klasse von anderen Funktionen verwendet werden sollen, effektiv speichern kann. Mein aktueller Code sieht wie folgt aus:
class SomeClass:
def __init__(self, username, password):
self.logged_in = False
self.username = username
self.password = password
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
def _login(self, username, password):
if not self.logged_in:
params = urllib.urlencode({'username': username, 'password': password})
conn = urllib2.Request('http://somedomain.com/login', params)
urllib2.urlopen(conn)
self.logged_in = True
def _checkLogin(self):
if not self.logged_in:
self._login(self.username, self.password)
def doSomeStuffThatRequireCookies(self):
self._checkLogin()
data = urllib2.urlopen(conn).read()
return data
Obwohl obiges Beispiel funktioniert, muss ich benutzerdefinierte Request() erstellen, wenn ich KEINE Anfrage mit Cookies stellen möchte, und ich bin sicher, dass es einen besseren und eleganteren Weg geben muss, dies zu tun.
Ich danke Ihnen.