http.client

Модуль позволяет получить информацию из интернета по протоколу HTTP и HTTPS.

class http.client.HTTPConnection(<domen>[, port=80[, <strict>[, <timeout>[[, <source_address>]]]]])

объект соединение

Параметры:
  • domen (str) – домен, указывается без протокола
  • port (int) – порт
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 (str) – метод запроса
  • path (str) – путь от корня, для GET запроса данные также передаются тут
  • body (str) – тело запроса для POST запроса
  • headers (dict) – заголовки
class http.client.HTTPResponse

объект ответа, результат запроса

msg

HTTPMessage доп информация о заголовках ответа

reason

строка, текстовый статус

status

число, код возврата

version

число, версия протокола. (10 - HTTP/1.0, 11 - HTTP/1.1)

__next__()

возвращает одну строку при каждом вызове, при достижении конца, будет возбуждено исключение StopIteration

close()

закрывает объект результата

getheader(<Заголовок>[, <Значение по умолчанию>=None])

возвращает значение указанного заголовка

getheaders()

возвращает все заголовки ответа сервера в виде списка кортежей

geturl()

возвращает урл адрес полученного документа

info()

возвращает доп информацию в виде объекта HTTPMessage

read([<количество байтов>])

возвращает строку, считанные данные

readline([<количество байтов>])

возвращает строку, считанные данные, считывает одну строку при каждом вызове

readlines([<количество байтов>])

возвращает список, считанные данные, считывает одну строку при каждом вызове

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()

список значений в заголовках ответа сервера