Подтвердить что ты не робот

Python 3.2 - cookielib

У меня есть рабочий код 2.7, однако в версии нет cookieib и urllib2 в 3.2? Как я могу заставить этот код работать с 3.2? Если кто-то задается вопросом - я нахожусь в Windows.

Пример 2.7

import urllib, urllib2, cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

login_data = urllib.urlencode({'login' : 'admin', 'pass' : '123'})

resp = opener.open('http://website/', login_data)
html = resp.read()

# I know that 3.2 is using print(), don't have to point that out.
print html
4b9b3361

Ответ 1

Из Документы Python:

Примечание. Модуль cookielib был переименован в http.cookiejar в Python 3.0. Инструмент 2to3 автоматически адаптирует импорт при конвертации ваших источников в 3.0.

Разве это не приемлемое решение? Если нет, то почему?

Ответ 2

Как упоминалось выше, cookielib был переименован, используйте следующий фрагмент для обоих python 2 и 3:

try:
    from http.cookiejar import CookieJar
except ImportError:
    from cookielib import CookieJar

Ответ 3

В Python 3.2 urllib2 переименован в urllib.request, а cookielib переименован в http.cookiejar. Таким образом, вы переименуете его как urllib.request и http.cookijar