Шаг 245.
Основы языка Python.
Взаимодействие с Интернетом. Обмен данными по протоколу HTTP (окончание)

    На этом шаге мы рассмотрим объект http.client.HTTPMessage.

    Рассмотрим основные методы и атрибуты объекта http.client.HTTPMessage:

    Для примера отправим запрос методом HEAD и выведем заголовки ответа сервера.

>>> from http.client import HTTPConnection
>>> headers = { "User-Agent": "MySpider/1.0",
"Accept": "text/html, text/plain, application/xml",
"Accept-Language": "ru, ru-RU", 
"Accept-Charset": "windows-1251",
"Referer": "/index.php" }
>>> con = HTTPConnection("mail.ru")
>>> con.request("HEAD", "/testrobots.php?%s" % data, headers=headers)
>>> result  = con.getresponse() #  Создаем объект результата
>>> print (result.msg)
Server: nginx/1.14.1
Date: Thu, 03 Jan 2019 14:40:17 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


>>> result.read() # Данные не передаются, только заголовки!
b''
>>> con.close()

    Рассмотрим основные HTTP-заголовки и их предназначение:

    Получить полное описание заголовков можно в спецификации RFC 2616, расположенной по адресу http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html. Чтобы "подсмотреть" заголовки, отправляемые Web-браузером и сервером, можно воспользоваться модулем Firebug для Firefox. Для этого на вкладке Сеть следует щелкнуть мышью на строке запроса. Кроме того, можно установить панель ieHTTPHeaders в Web-браузере Internet Explorer.

    На следующем шаге мы рассмотрим обмен данными с помощью модуля urllib.request.




Предыдущий шаг Содержание Следующий шаг