Requests – бібліотека python для надсилання HTTP запитів. Має зрозумілий та елегантний синтаксис, що дозволяє зосередитися на логіці взаємодії з API.
Встановлення Requests в оточення:
pip install requestsДля прикладів запитів я буду використовувати демо API бронювання:
https://restful-booker.herokuapp.com/
Відправляю перший запит до сервісу, health check:
import requests
response = requests.get('https://restful-booker.herokuapp.com/ping')
print(f'ping status code: {response.status_code}')
# ping status code: 201
print(f'ping header Content-Type: {response.headers["Content-Type"]}')
# ping header Content-Type: text/plain; charset=utf-8
print(f'ping body: {response.text}')
# ping body: CreatedКод каже сам за себе. Метод get повертає об’єкт response, через який можна отримати доступ до status code, headers (у вигляді python dict), body відповіді.
Тепер зроблю запит POST для отримання токену. Документація запиту:

Код запиту з використанням requests:
# create token
url = 'https://restful-booker.herokuapp.com/auth'
headers = {
'Content-Type': 'application/json'
}
data = {
'username': 'admin',
'password': 'password123'
}
response = requests.post(url=url, headers=headers, data=json.dumps(data))
response_json = response.json()
print(f'response json: {type(response_json)} {response_json}')
# response json: <class 'dict'> {'token': '122ca34ed10a240'}
token = response_json['token']
print(f'token: {token}')
# token: 122ca34ed10a240- для створення headers та body використовую python dict
- метод requests.post приймає іменовані аргументи url, headers, data для формування запиту
- словник data, який містить в собі тіло request, за допомогою методу dumps модуля json серіалізую в json строку
- виклик методу json об’єкта response, повертає python dict тіла відповіді, з якого вже по ключу token отримую токен
Документація бібліотеки доступна за посиланням: