Работа с внешними API
HTTP API
HTTP
Спецификация как между сервером и клиентом передаются данные

Запрос
HTTP глагол / метод
Часть запроса, которая описывает "действие"

HTTP глагол / метод
Например GET — получить данные:
- GET /users — список пользователей
- GET /users/1 — конкретный пользователь

HTTP глагол / метод
POST — добавить данные:
- POST /users — создать нового пользователя
DELETE — удалить
PUT — заменить
PATCH — изменить

HTTP заголовки

Query, args, params
То, что располагается после знака вопроса — параметры, разделенные знаком амперсанда

JSON Body
В теле запроса передаются данные. Стандартом де-факто является JSON — он содержит в своей спецификации списки, словари, числа, строки, булевые значения и null.


Ответ
Статус-код
Статус код — трехзначное число, приходящее в ответе. Оно описывает статус запроса: был он успешен или не успешен.
2хх — запрос успешен
4хх — ошибка

JSON Body
В теле ответа ...


Попробуем разобрать на примере
Глаголы
import requests
requests.get('http://stepik.org/api')
requests.post(...)
requests.put(...)
requests.delete(...)
Заголовки
import requests
requests.get(
'http://stepik.org/api',
headers={
"Authorization": "Bearer DimaBoger:mypassword"
}
)
Query string
import requests
requests.get(
'http://stepik.org/api',
params={
"query": "python course"
}
)
JSON в запросе
import requests
requests.post(
'http://stepik.org/api',
json={
"user_id": 12355,
}
)
Код ответа
import requests
response = requests.post(...)
print(response.status_code) # 200
JSON в ответе
import requests
response = requests.post(...)
print(response.json()) # {"json_object...
Ваши боты
[54636] External APIs
By b0g3r
[54636] External APIs
- 213