http.client¶
Модуль позволяет получить информацию из интернета по протоколу HTTP и HTTPS.
HTTPConnection()¶
- class
http.client.
HTTPConnection
(<domen>[, port=80[, <strict>[, <timeout>[[, <source_address>]]]]])¶ объект соединение
domen - домен, указывается без протокола
port - порт
from http.client import HTTPConnection from urllib.parse import urlencode data = urlencode({'a': 'A'}) headers = { 'User-Agent': 'Mozila', 'Accept': 'text/html', 'Accept-Language': 'ru, ru-RU', 'Accept-Charset': 'windows-1251', 'Referer': '/' } con = HTTPConnection('ilnurgi1.ru') con.request('GET', '/home?%s' % data, headers=headers) result = con.getresponse() print(result.read().decode('cp1251')) con.close() headers = { 'User-Agent': 'Mozila', 'Accept': 'text/html', 'Accept-Language': 'ru, ru-RU', 'Accept-Charset': 'windows-1251', 'Referer': '/', 'Content-Type': 'application/x-www-form-urlencoded' } con = HTTPConnection('ilnurgi1.ru') con.request('POST', '/home', data, headers=headers) result = con.getresponse() print(result.read().decode('cp1251')) con.close()
-
close
()¶ закрывает объект соединения
-
getresponse
()¶ возвращает объект результата запроса
HTTPResponse
-
read
([<количество байт>])¶ Читает ответ севервера, без заголовков
-
request
(method, path[, body=None][, headers])¶ отправляет параметры запроса
method - метод запроса
path - путь от корня, для GET запроса данные также передаются тут
body - тело запроса для POST запроса
headers - заголовки
conn.request( method='POST', path='', body=urllib.parse.urlencode({}), headers={} )
HTTPResponse()¶
- class
http.client.
HTTPResponse
¶ Ответ http запроса
import urllib conn = urllib.request.open(url)
-
msg
¶ HTTPMessage
доп информация о заголовках ответа
-
reason
¶ строка, текстовый статус
-
status
¶ Число, код возврата запроса
conn.status # 200
-
version
¶ число, версия протокола. (10 - HTTP/1.0, 11 - HTTP/1.1)
-
__next__
()¶ возвращает одну строку при каждом вызове, при достижении конца, будет возбуждено исключение
StopIteration
-
close
()¶ закрывает объект результата
-
getheader
(<Заголовок>[, <Значение по умолчанию>=None])¶ Возвращает значение указанного заголовка
conn.getheader("Content-Type") # text/plain
-
getheaders
()¶ Возвращает все заголовки ответа сервера в виде списка кортежей
conn.getheaders() # [("Content-Type", "text/plain"), ...]
-
geturl
()¶ возвращает урл адрес полученного документа
-
info
()¶ возвращает доп информацию в виде объекта
HTTPMessage
-
read
([<количество байтов>])¶ Возвращает строку, считанные данные
data = conn.read()
-
readline
([<количество байтов>])¶ возвращает строку, считанные данные, считывает одну строку при каждом вызове
-
readlines
([<количество байтов>])¶ возвращает список, считанные данные, считывает одну строку при каждом вызове
-
HTTPMessage()¶
- class
http.client.
HTTPMessage
¶ доп информация результата запроса
-
as_string
([unixform=Flase][, maxheaderlen=0])¶ возвращает все заголовки ответа сервера в виде строки
-
get
(<Заголовок>[, failobj=None])¶ возвращает строку, значение указанного загловка
-
get_all
(<Заголовок>[, failobj=None])¶ возвращает список, значения указанного загловка
-
get_content_charset
([failobj=None])¶ возвращает кодировку из заголовка Content-Type
-
get_content_maintype
()¶ возвращает первую составляющую MIME-типа
-
get_content_subtype
()¶ возвращает вторую составляющую MIME_типа
-
get_content_type
()¶ возвращает MIME-тип документа из заголовка Content-Type
-
items
()¶ список всех заголовков ответа сервера
-
keys
()¶ список ключей в заголовках ответа сервера
-
values
()¶ список значений в заголовках ответа сервера
-