Я использую Python 2.7.1 и пытаюсь использовать модуль urllib2 для доступа к некоторым веб-страницам.Согласно документации по Python, urllib2.urlopen()
:
Эта функция возвращает файлоподобный объект с двумя дополнительными методами, geturl()
и info()
Однако онауказывает, что при попытке доступа к info()
в последнем операторе печати в коде таких методов нет.Я получаю следующую ошибку:
AttributeError: HTTPResponse instance has no attribute 'info'
Я не понимаю этого.Я ничего не могу найти в Google, и в документации ясно сказано, что эти методы существуют с возвращенным объектом.Интересно, что, как показывают ошибки и тестирование методов, он возвращает объект HTTPresponse
с этими соответствующими методами.Что мне не хватает?
Мой код выглядит следующим образом:
import urllib2
import httplib, socket
import cookielib
import ntlm
from ntlm import ntlm
url = URLOFSOMESORT
user = USERNAMEHERE
password = PASSWORD
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
data = ""
headers = { 'User-Agent' : user_agent }
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, user, password)
cookie_jar = cookielib.CookieJar()
cookie_handler = urllib2.HTTPCookieProcessor(cookie_jar)
redirect = urllib2.HTTPRedirectHandler()
auth_basic = urllib2.HTTPBasicAuthHandler(passman)
auth_digest = urllib2.HTTPDigestAuthHandler(passman)
auth_NTLM = HTTPNtlmAuthHandler(passman)
opener = urllib2.build_opener(cookie_handler, auth_NTLM, auth_basic, auth_digest, redirect)
urllib2.install_opener(opener)
request = urllib2.Request(url, data, headers)
response = urllib2.urlopen(request)
#cookie_jar.extract_cookies(response, request)
print response.info()