2009-11-17 4 views
9
import httplib 
    conn = httplib.HTTPConnection(head) 
    conn.request("HEAD",tail) 
    res = conn.getresponse() 

Я могу получить res.status, который является кодом статуса http.В Python, что возвращает getresponse()?

Какие еще элементы я могу получить? Почему, когда я печатаю res, он не будет печатать словарь? Я просто хочу видеть ключи, которые находятся в этом словаре ...

ответ

21

Вы всегда можете осмотреть объект, используя dir; который покажет вам, какие атрибуты у него есть.

>>> import httplib 
>>> conn = httplib.HTTPConnection("www.google.nl") 
>>> conn.request("HEAD", "/index.html") 
>>> res = conn.getresponse() 
>>> dir(res) 
['__doc__', '__init__', '__module__', '_check_close', '_method', '_read_chunked', '_read_status', '_safe_read', 'begin', 'chunk_left', 'chunked', 'close', 'debuglevel', 'fp', 'getheader', 'getheaders', 'isclosed', 'length', 'msg', 'read', 'reason', 'status', 'strict', 'version', 'will_close'] 

Кроме того, вы можете вызвать help, который покажет документацию объекта, если он имеет атрибут __doc__. Как вы можете видеть, это так для res, так что попробуйте:

>>> help(res) 

Кроме того, в документации говорится, что getresponse возвращает HTTPResponse объект. Таким образом, как вы можете прочитать здесь (и в help(res)), следующие свойства и методы определяются HTTPResponse объектов:

  • HTTPResponse.read([amt]): Считывает и возвращает тело ответа, или до следующего АМТ байт.

  • HTTPResponse.getheader(name[, default]): Получить содержимое заголовка или по умолчанию, если нет соответствующего заголовка.

  • HTTPResponse.getheaders(): Вернуть список кортежей (заголовок, значение). (Новое в версии 2.4.)

  • HTTPResponse.msg: Экземпляр mimetools.Message, содержащий заголовки ответа.

  • HTTPResponse.version: Версия протокола HTTP, используемая сервером. 10 для HTTP/1.0, 11 для HTTP/1.1.

  • HTTPResponse.status: Код состояния, возвращаемого сервером.

  • HTTPResponse.reason: Причина фразы, возвращаемой сервером.

Смежные вопросы