Requests Python позволяют отправлять HTTP-запросы, такие как GET или POST. Вы можете добавлять заголовки, данные формы, составные файлы и параметры с помощью простых словарей Python и получать доступ к данным ответа таким же образом.

Что такое HTTP?
HTTP — это набор протоколов, предназначенных для обеспечения связи между клиентами и серверами. Он работает как протокол запроса-ответа между клиентом и сервером.
Веб-браузер может быть клиентом, а приложение на удаленном компьютере, на котором размещен веб-сайт, может быть сервером.
Запросы в Python
Python запрашивает лицензированную HTTP-библиотеку Apache2, написанную на языке программирования Python. Она предназначена для взаимодействия с API. Это означает, что вам не нужно вручную добавлять строки запроса к URL-адресам или кодировать ваши данные POST. Модуль Requests — это элегантная и простая HTTP-библиотека для Python.
Как установить модуль Requests
Вы можете использовать менеджеры пакетов pip, easy_install или tarball. Например, я использую PIP для установки библиотеки запросов. Но я использую Python3, поэтому мне приходится использовать pip3 вместо pip.
|
1 |
pip3 install requests |

Импорт модуля запросов
Если вы хотите работать с библиотекой Requests в Python, вы должны импортировать соответствующий модуль.
Вы можете сделать это, только добавив следующий код в начало вашего скрипта.
Напишите следующий код в файле app.py.
|
1 |
import requests |
Хорошо, теперь давайте отправим запрос GET в мой профиль Github.
|
1 2 3 4 5 6 7 |
# app.py import requests res = requests.get('https://api.github.com/users/KrunalLathiya') data = res.json() print(data['login']) |
В приведенном выше коде сначала мы импортировали модуль запросов, а затем использовали метод GET, чтобы отправить запрос GET в API GitHub и сохранить ответ внутри переменной res, а затем вызвать метод json() для этого объекта, и мы получить словарь. Затем я вызвал словарь по его ключу, и мы получили результат.

У моего профиля на Github сейчас 311 подписчиков, поэтому он вернул 311. В будущем это может измениться в зависимости от того, когда вы будете проходить это руководство.
Когда вы делаете запрос, Requests делает обоснованные предположения о кодировке ответа на основе заголовков HTTP.
Другие HTTP-запросы
До сих пор мы использовали запрос GET. Вы также можете отправлять запросы POST, PUT, DELETE, HEAD и OPTIONS.
Синтаксис всех запросов следующий.
|
1 2 3 4 5 |
requests.post('url') requests.put('url') requests.delete('url') requests.head('url') requests.options('url') |
Python GET-запросы
Методы HTTP, такие как GET и POST, определяют, какое действие вы пытаетесь выполнить при выполнении HTTP-запроса. Помимо GET и POST, есть несколько других распространенных методов, которые вы будете использовать позже в этом примере.
Одним из наиболее распространенных методов HTTP является GET. Запрос GET указывает, что вы пытаетесь получить или извлечь данные из указанного ресурса. Чтобы сделать запрос GET, вызовите request.get().
См. следующий код.
|
1 2 3 4 5 6 7 |
#app.py import requests res = requests.get('https://api.github.com/users/KrunalLathiya') data = res.json() print(data['following']) |
Вывод:
|
1 2 3 4 |
#app.py python3 app.py 13(pythonenv) ➜ pyt |
Я подписан на 13 человек в моем профиле Github.
Ответ на запрос Python GET
Ответ — это надежный объект для проверки результатов запроса. Давайте снова сделаем тот же запрос, но на этот раз сохраним возвращаемое значение в переменной, чтобы вы могли поближе рассмотреть ее атрибуты и поведение.
|
1 2 3 4 5 6 |
#app.py import requests res = requests.get('https://api.github.com/users/KrunalLathiya') print(res) |
Вывод:
|
1 2 |
python3 app.py <Response [200]> |
В этом примере вы получили возвращаемое значение get(), экземпляр Response, и сохранили его в переменной с именем Response.
Теперь вы можете использовать ответ, чтобы увидеть много информации о результатах вашего запроса GET.
Мы можем получить код состояния, используя следующий код.
|
1 2 3 4 5 6 7 |
#app.py import requests res = requests.get('https://api.github.com/users/KrunalLathiya') print(res.status_code) |
Вывод:
|
1 2 |
(pythonenv) ➜ pyt python3 app.py 200 |
Первая часть информации, которую вы можете получить из Response, — это код состояния. Код состояния информирует вас о статусе запроса.
Например, статус 200 OK означает, что ваш запрос был выполнен успешно, тогда как статус 404 NOT FOUND означает, что ресурс, который вы искали, не найден. Кроме того, существует множество других возможных кодов состояния, чтобы дать вам конкретное представление о том, что произошло с вашим запросом.
