requests — HTTP-клієнт¶
Модуль requests надає мінімальний API HTTP/HTTPS-клієнта, подібний до бібліотеки Python requests. Кожна функція запиту повертає об’єкт requests.Response.
Приклад:
import requests
# GET a JSON resource.
r = requests.get("https://httpbin.org/get")
print(r.status_code, r.reason)
print(r.json())
# POST JSON.
r = requests.post(
"https://httpbin.org/post",
json={"id": 1, "value": 42},
headers={"X-Source": "openmv"},
)
print(r.json())
Клас Response¶
- class requests.Response(code: int, reason: str, headers: bytes = None, content: bytes = None)¶
Представляє HTTP-відповідь. Екземпляри повертаються
requests.requestта допоміжними функціями для кожного методу.- encoding: str¶
Рядкове кодування, що використовується для декодування
requests.Response.headersіrequests.Response.content. Стандартне значення:"utf-8".
- headers: str¶
Заголовки відповіді, декодовані з використанням
requests.Response.encodingі повернуті якstr.
- content: str¶
Тіло відповіді, декодоване з використанням
requests.Response.encodingі повернуте якstr.
- json() dict¶
Розібрати
requests.Response.contentяк JSON та повернути отриманий об’єкт.
Функції¶
- requests.request(method: str, url: str, data: bytes | None = None, json: Any | None = None, files: dict | None = None, headers: dict = {}, auth: tuple | None = None, stream: Any | None = None) Response¶
Надіслати HTTP-запит на
urlта повернутиrequests.Response.method— HTTP-метод у виглядіstr(наприклад,"GET","POST").url— цільова URL-адреса. Повинна починатися зhttp://абоhttps://.data— необроблене тіло запиту. Якщо вказано,Content-Lengthдодається автоматично.json— об’єкт, серіалізований до JSON і надісланий як тіло. ВстановлюєContent-Type: application/json.files— словник, що відображає назву поля на кортеж(filename, fileobj). Надсилається якmultipart/form-data.headers— словник додаткових заголовків запиту.auth— кортеж(username, password)для базової HTTP-автентифікації.stream— приймається для сумісності API; не використовується.
- requests.head(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
HEADта повернутиResponse.HEADідентичнийGET, за винятком того, що сервер відповідає лише рядком статусу та заголовками; тіло порожнє. Використовуйте його для перевірки існування ресурсу, отримання відомостей проContent-Length/Content-Typeбез завантаження вмісту або зондування URL перед виконанням важчогоGET.Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.headers(kwarg) – словник додаткових заголовків запиту.auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
data/json/files/streamзrequest()приймаються для повноти, але рідко мають сенс дляHEAD.
- requests.get(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
GETта повернутиResponse.GET— стандартне дієслово для отримання представлення ресурсу, ідентифікованого заurl. Він є безпечним (не спричиняє змін стану на стороні сервера) та ідемпотентним.Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.headers(kwarg) – словник додаткових заголовків запиту (наприклад,AuthorizationабоAccept).auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
Тіло запиту через
data/jsonдозволяється базовою функцієюrequest(), але більшість серверів його ігнорують.
- requests.post(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
POSTта повернутиResponse.POSTнадсилає дані наurl, зазвичай створюючи новий підпорядкований ресурс, запускаючи надсилання форми або викликаючи певну дію. Він є ані безпечним, ані ідемпотентним: повторні виклики можуть створювати дублікати ресурсів.Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.data(kwarg) – необроблене тіло запиту (bytes-like). Автоматично надсилає заголовокContent-Length.json(kwarg) – об’єкт, серіалізований до JSON і надісланий як тіло. ВстановлюєContent-Type: application/json.files(kwarg) – словник, що відображає назву поля на(filename, fileobj). Надсилається якmultipart/form-data.headers(kwarg) – словник додаткових заголовків запиту.auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
Передавайте не більше одного з:
data/json/files.
- requests.put(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
PUTта повернутиResponse.PUTзамінює ресурс за адресоюurlнаданим представленням, створюючи його, якщо він не існує. Він є ідемпотентним: повторення ідентичногоPUTдає той самий кінцевий стан.Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.data(kwarg) – необроблене тіло заміни (bytes-like).json(kwarg) – об’єкт, серіалізований до JSON і надісланий як тіло заміни. ВстановлюєContent-Type: application/json.headers(kwarg) – словник додаткових заголовків запиту.auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
Передайте
dataабоjsonдля надання нового представлення.
- requests.patch(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
PATCHта повернутиResponse.PATCHзастосовує часткову зміну до ресурсу за адресоюurl— змінюються лише поля, що містяться в тілі запиту. На відміну відPUT, він не зобов’язаний бути ідемпотентним (хоча багато API роблять його таким).Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.data(kwarg) – необроблене тіло дельти (bytes-like). Формат залежить від сервера (наприклад, JSON Patch, JSON Merge Patch).json(kwarg) – об’єкт дельти, серіалізований до JSON. ВстановлюєContent-Type: application/json.headers(kwarg) – словник додаткових заголовків запиту.auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
- requests.delete(url: str, **kw: Any) Response¶
Надіслати HTTP-запит
DELETEта повернутиResponse.DELETEзапитує видалення ресурсу за адресоюurl. Він є ідемпотентним: видалення вже видаленого ресурсу не є помилкою (сервер зазвичай повертає 404, але кінцевий стан залишається тим самим).Аргументи:
url– цільова URL-адреса; повинна починатися зhttp://абоhttps://.headers(kwarg) – словник додаткових заголовків запиту.auth(kwarg) – кортеж(username, password)для базової HTTP-автентифікації.
Тіло через
data/jsonдозволяється базовою функцієюrequest(), але рідко використовується зDELETE.