Рубрики
Без рубрики

Учебник по запросам Python | Учебник по Python

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

Автор оригинала: Waseem.

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

Запросы на Python были написаны Кеннетом Рейцем и лицензированы под apache 2.0. Это удобная для человека HTTP-библиотека, как указано на официальной странице документации. Он прост в использовании и в основном используется для выполнения всевозможных HTTP-запросов. Ниже приведены несколько дополнительных функций, с которыми поставляется запрос:

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

Это все расширенные функции библиотеки запросов python, давайте попробуем понять, почему мы используем запросы python в первую очередь.

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

Когда дело доходит до того, почему мы используем запросы python? причина довольно проста. При использовании запросов python вам не нужно вручную добавлять запросы к URL-адресам и кодировать данные post в форме. Это облегчает нашу работу при выполнении http-запросов любого рода.

Теперь, когда мы знакомы с запросами python и почему мы используем их в python, давайте попробуем понять, как мы собираемся устанавливать запросы в нашем проекте или системе.

Как Установить Запросы Python?

Часть установки также очень проста. Если в вашей системе установлена программа установки piper nv, вы можете просто выполнить следующую команду в терминале.

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

Это позволит установить библиотеку запросов в вашей системе. Существует еще один подход к запросам на установку. Если вы используете pycharm, вы можете добавлять запросы

на интерпретаторе проекта в настройках. Он служит той же цели, что и терминал, в случае установки библиотеки в нашем проекте.

Теперь, когда мы закончили установку, давайте попробуем понять, как мы будем делать запросы get и post в python.

Как Сделать Запросы Get & Post?

Запрос Get в основном используется для запроса данных с сервера. Ниже приведен синтаксис для выполнения запроса get.

import requests

res = requests.get('url')

#res is the response object here.

Post-запрос используется для отправки данных, подлежащих обработке, на сервер. Ниже приведен синтаксис для выполнения запроса post.

import requests

payload = {'key1': 'value1'}

res = requests.post('url' , data= payload)

Теперь, когда мы знаем, как мы можем делать запросы get и post, давайте посмотрим, как мы можем передавать параметры в URL-адрес с помощью запроса get.

Передача параметров в URL-адресе так же проста, как выполнение запроса get. Ниже приведен пример передачи параметров в url-адрес.

import requests

payload = {'key1': 'value1' , 'key2': 'value2'}

res = requests.get('url', params= payload)

print(res.url)

#this will print the url with the parameters passed through the get request.

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

import requests

res = requests.get('url')

print(res.status_code())

Если код возвращает 200, это означает, что ошибки нет и запрос выполнен хорошо. Если мы сделаем неверный запрос, код вернет код типа 404 или 505, который вызовет ошибку http.

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

Мы также можем прочитать содержимое ответа сервера. Библиотека автоматически декодирует содержимое с сервера.

import requests

res = requests.get('url')

print(res.content)

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

import requests

res = requests.get('url')

print(res.json())

#this will get the response in a json format

Загрузка составных файлов

Очень легко загружать составные файлы с помощью запросов.

import requests

files = {'file' : open('filename', 'rb')}

res = requests.post('url' , files= files)

print(res.text)

Для отправки нескольких файлов мы укажем несколько файлов в параметре files.

Мы можем просматривать заголовки ответов сервера и файлы cookie, используя объект ответа. Ниже приведен код для просмотра заголовков сервера.

import requests

res = requests.get('url')

print(res.headers)

Мы также можем передавать пользовательские заголовки в URL-адрес. Давайте взглянем на код.

import requests

headers = {'key1' : 'value1'}

res = requests.get('url', headers= headers)

print(res.headers)

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

import requests

#to pass our own cookies we can use the cookies parameter

cookies = dict(cookies= 'working')

res = requests.get('url' , cookies= cookies)

print(res.text)

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

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

Объект сеанса позволяет сохранять определенные параметры в запросах.

  • Сохраняет файлы cookie во всех запросах, сделанных из экземпляра сеанса
  • Используйте пул соединений urllib3
  • Значительное повышение производительности
  • Объект сеанса имеет все методы API основных запросов

Ниже приведен код для сохранения некоторых файлов cookie в запросах.

s = requests.session()

s.get('url')

res = s.get('url')

print(res.text)

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

Ниже приведены ошибки и исключения, возникающие в запросе python.

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

В этом блоге мы обсудили модуль запросов python, в котором у нас есть различные расширенные функции. Мы обсудили установку и создание запроса get и post с содержанием ответа и другими концепциями в библиотеке запросов на python. Модуль запросов Python – это одна из многих экстраординарных функций языка программирования python.

У вас есть какие-нибудь вопросы? упомяните их в разделе комментариев, мы свяжемся с вами.