Модуль позволяет получить информацию из интернета по протоколу HTTP и HTTPS.
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={}
)
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
([<количество байтов>])возвращает список, считанные данные, считывает одну строку при каждом вызове
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
()список значений в заголовках ответа сервера