Запросы Python: все, что вам нужно знать



В этом блоге вы подробно расскажете о модуле запросов Python. Вы познакомитесь с запросами GET и POST, объектами сеанса, файлами cookie и заголовками.

Запросы Python загружаются почти 400 000 раз каждый день. Это число достаточно очевидно, чтобы понять популярность этого . В последние годы язык программирования Python стал самым желанным языком программирования для многих разработчиков. Такие концепции и библиотеки, как запросы, - одна из многих причин, по которым разработчики переходят с других языков программирования на Python. В этом блоге мы рассмотрим следующие темы:

Что такое запросы Python?

Запросы Python были написаны Кеннетом Райтцем и лицензированы под apache 2.0. Это удобная для человека HTTP-библиотека, как упоминается на официальной странице документации. Он прост в использовании и в основном используется для выполнения всевозможных HTTP-запросов. Ниже приведены несколько дополнительных функций, которые поставляются с запросами:
  1. Сохранение активности и пул соединений
  2. Международные домены и URL-адреса
  3. Сеансы с сохранением файлов cookie
  4. Проверка SSL в стиле браузера
  5. Автоматическое декодирование контента
  6. Базовая / дайджест-аутентификация
  7. Элегантные файлы cookie типа 'ключ-значение'
  8. Автоматическая декомпрессия
  9. Тела ответов Unicode
  10. Поддержка прокси HTTP
  11. Загрузка нескольких файлов
  12. Потоковое скачивание
  13. Таймауты подключения
  14. Разделенные запросы
Это все расширенные функции библиотеки запросов python, давайте попробуем понять, почему мы вообще используем запросы python.

Зачем использовать запросы Python?

Когда дело доходит до того, почему мы используем запросы Python? Причина довольно проста. При использовании запросов python вам не нужно вручную добавлять запросы к своим URL-адресам и кодировать данные публикации. Это упрощает нашу работу при отправке HTTP-запросов любого типа.Теперь, когда мы знакомы с запросами Python и почему мы используем их в Python, давайте попробуем понять, как мы собираемся устанавливать запросы в нашем проекте или системе.

Как установить запросы Python?

Установка очень проста. Если в вашей системе установлена ​​программа установки pipenv, вы можете просто запустить следующую команду в терминале.

Запросы на установку $ pip

Это установит библиотеку запросов в вашу систему. Есть еще один подход к установке запросов. Если вы используете pycharm, вы можете добавить запросы к интерпретатору проекта в настройках. Он служит той же цели, что и терминал, в случае установки библиотеки в нашем проекте.Теперь, когда мы закончили установку, давайте попробуем понять, как мы будем делать запросы на получение и публикацию в python.

Как делать запросы на получение и публикацию?

Запрос на получение в основном используется для запроса данных с сервера. Ниже приведен синтаксис запроса на получение.
запросы на импорт res = requests.get ('url') #res здесь является объектом ответа.
Почтовый запрос используется для отправки данных для обработки на сервер. Ниже приведен синтаксис отправки почтового запроса.
полезная нагрузка запросов на импорт = {'key1': 'value1'} res = requests.post ('url', data = payload)
Теперь, когда мы знаем, как создавать запросы на получение и публикацию, давайте посмотрим, как мы можем передавать параметры URL-адресу с помощью запроса получения.

Передача параметров в URL

Передача параметров в URL так же проста, как запрос на получение. Ниже приведен пример передачи параметров URL-адресу.
импортные запросы payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) # это напечатает url с параметрами прошел через запрос на получение.

Код состояния

Мы также можем проверить код состояния, следующий код для проверки кода состояния:





запросы на импорт res = requests.get ('url') print (res.status_code ())
Если код возвращает 200, это означает, что ошибки нет и с запросом все в порядке. Если мы сделаем неверный запрос, код вернет код, например 404 или 505, что вызовет ошибку http.

Содержание ответа

Мы также можем прочитать содержимое ответа сервера. Библиотека автоматически декодирует контент с сервера.
запросы на импорт res = requests.get ('url') print (res.content)

Запросы также имеют встроенный декодер json.

запросы на импорт res = requests.get ('url') print (res.json ()) # это получит ответ в формате json

Загрузка файлов из нескольких частей

С помощью запросов очень легко загружать файлы, состоящие из нескольких частей.
запросы на импорт files = {'file': open ('filename', 'rb')} res = requests.post ('url', files = files) print (res.text)
Для отправки нескольких файлов мы укажем несколько файлов в параметре files.

Файлы cookie и заголовки

Мы можем просматривать заголовки ответов и файлы cookie сервера с помощью объекта ответа. Ниже приведен код для просмотра заголовков сервера.
запросы на импорт res = requests.get ('url') print (res.headers)
Мы также можем передавать настраиваемые заголовки в URL-адрес. Давайте посмотрим на код.
заголовки запросов на импорт = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
Запросы не изменяют свое поведение на основе настраиваемых заголовков. Они просто передаются в последний запрос. печенье также можно просмотреть с помощью объекта ответа.
запросы на импорт # для передачи наших собственных файлов cookie мы можем использовать параметр cookie cookie = dict (cookie = 'working') res = requests.get ('url', cookie = cookie) print (res.text)

Файлы cookie возвращаются в RequestCookieJar, который действует как словарь, но также предлагает более полный интерфейс, подходящий для использования в нескольких доменах или путях.



Объект сеанса

Объект сеанса позволяет сохранять определенные параметры в запросах.
  • Сохраняет файлы cookie во всех запросах, сделанных из экземпляра сеанса
  • Используйте пул соединений urllib3
  • Значительный прирост производительности
  • Объект сеанса имеет все методы основного API запросов.
Ниже приведен код для сохранения некоторых файлов cookie между запросами.
s = requests.session () s.get ('url') res = s.get ('url') печать (res.text)

Ошибки и исключения

Ниже приведены ошибки и исключения, возникающие в запросе Python.
  • В случае проблемы с сетью запросы вызовут исключение ConnectionError.
  • Response.raise_for_status () вызовет ошибку HTTP при неудачном коде состояния.
  • Если есть тайм-аут, он вызовет исключение тайм-аута
  • Исключение TooManyRedirects возникает, если запрос превышает настроенное максимальное количество перенаправлений.
В этом блоге мы обсудили модуль запросов Python, в котором у нас есть различные расширенные функции. Мы обсудили установку и создание запросов на получение и публикацию с содержимым ответа и другими концепциями в библиотеке запросов в Python. Модуль запросов Python - одна из многих необычных готовых функций язык программирования python . Вы можете начать свое обучение, записавшись в и откройте для себя возможности языка программирования Python. Есть вопросы? упомяните их в разделе комментариев, мы свяжемся с вами.