Во-первых, как заметил jathanism, вы на самом деле не устанавливаете банку с печеньем.
import cookielib
...
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
Затем urllib2.install_opener (opener) установит сошник глобально (!), Что вам не нужно делать. Удалить urllib2.install_opener (opener).
Для запросов без файлов cookie сделайте следующее:
Вам не нужно создавать объект Request, вы можете просто вызвать urlopen с помощью url и params:
params = urllib.urlencode({'username': username, 'password': password})
urllib2.urlopen('http://somedomain.com/login', params)
Для запросов cookie используйте объект открывания:
self.opener.urlopen(url, data)