На этом шаге мы рассмотрим класс HTTPResponse.
Класс HTTPResponse, представляющий результат запроса, предоставляет следующие методы и атрибуты:
>>> result.getheader ("Content-Type") 'text/html' >>> print(result.getheader("Content-Types")) None >>> result.getheader("Content-Types", 10) 10
>>> result.getheaders()
[('Server', 'nginx/1.14.1'), ('Date', 'Thu, 03 Jan 2019 13:42:22 GMT'),
('Content-Type', 'text/html'), ('Content-Length', '185'),
('Connection', 'keep-alive'), ('Location', 'https://mail.ru'),
('X-XSS-Protection', '1; mode=block;
report=https://cspreport.mail.ru/xxssprotection'),
('X-Content-Type-Options', 'nosniff')]
С помощью функции dict() такой список можно преобразовать в словарь:
>>> dict(result.getheaders()) {'Server': 'nginx/1.14.1', 'Content-Length': '185', 'Location': 'https://mail.ru', 'Connection': 'keep-alive', 'X-XSS-Protection': '1; mode=block; report=https://cspreport.mail.ru/xxssprotection', 'Date': 'Thu, 03 Jan 2019 13:42:22 GMT', 'Content-Type': 'text/html', 'X-Content-Type-Options': 'nosniff'}
>>> result.status
301
>>> result.reason # При коде 200 'ОК' >>> result.reason # При коде 301 'Moved Permanently'
>>> result.version # Протокол HTTP/1.1 11
>>> print (result.msg) Server: nginx/1.14.1 Date: Thu, 03 Jan 2019 13:42:22 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Location: https://mail.ru X-XSS-Protection: 1; mode=block; report=https://cspreport.mail.ru/xxssprotection X-Content-Type-Options: nosniff
На следующем шаге мы закончим изучение этого вопроса.