Работа с внешними 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