Учебное пособие по запросам Python | Учебник по Python
Запросы Python ежедневно загружают почти 400 000 раз. Этого числа достаточно, чтобы понять популярность этой библиотеки Python. В последние годы язык программирования Python стал самым желанным языком программирования для многих разработчиков. Концепции и библиотеки, такие как запросы, являются одной из многих причин, по которой разработчики переходят с других языков программирования на python. В этом блоге мы рассмотрим следующие темы:
Запросы Python были написаны Кеннетом Райцем и распространяются под лицензией apache 2.0. Это удобная для человека библиотека HTTP, как указано на странице официальной документации. Он прост в использовании и в основном используется для выполнения всех видов HTTP-запросов. Ниже приведены несколько расширенных функций, которые поставляются с запросами:
- Поддержание активности и пул соединений
- Международные домены и URL
- Сеансы с сохранением файлов cookie
- Проверка SSL в стиле браузера
- Автоматическое декодирование контента
- Базовая/дайджест-аутентификация
- Элегантные файлы cookie типа «ключ-значение»
- Автоматическая декомпрессия
- Тело ответа Unicode
- Поддержка HTTPS-прокси
- Загрузка нескольких файлов
- Потоковые загрузки
- Тайм-ауты подключения
- Разделенные запросы
Это все расширенные функции библиотеки запросов python, давайте попробуем понять, почему мы вообще используем запросы python.
Зачем использовать запросы Python?
Когда дело доходит до того, почему мы используем запросы Python? причина довольно проста. При использовании запросов Python вам не нужно вручную добавлять запросы к вашим URL-адресам и формировать данные публикации. Это облегчает нашу работу при выполнении http-запросов любого типа.
Теперь, когда мы знакомы с запросами Python и почему мы их используем в Python, давайте попробуем понять, как мы собираемся устанавливать запросы в нашем проекте или системе.
Как установить запросы Python?
Часть установки также очень проста. Если в вашей системе установлена программа установки pipenv, вы можете просто запустить следующую команду в терминале.
$ pip запросы на установку
Это установит библиотеку запросов в вашей системе. Есть еще один подход к установке запросов. Если вы используете pycharm, вы можете добавлять запросы
на переводчике проекта в настройках. Он служит той же цели, что и терминал в случае установки библиотеки на наш проект.
Теперь, когда мы закончили установку, давайте попробуем понять, как мы будем делать запросы на получение и отправку в python.
Как сделать запросы на получение и публикацию?
Запрос Get в основном используется для запроса данных с сервера. Ниже приведен синтаксис для выполнения запроса на получение.
import requests
res = requests.get('url')
#res is the response object here.
Почтовый запрос используется для отправки данных для обработки на сервер. Ниже приведен синтаксис для создания почтового запроса.
import requests
payload = {'key1': 'value1'}
res = requests.post('url' , data= payload)
Теперь, когда мы знаем, как мы можем делать запросы на получение и публикацию, давайте посмотрим, как мы можем передавать параметры URL-адресу с помощью запроса на получение.
Передача параметров в URL так же проста, как и запрос на получение. Ниже приведен пример передачи параметров в 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)
Запросы не меняют своего поведения на основе пользовательских заголовков. Они просто передаются в окончательный запрос. печенье также можно просмотреть с помощью объекта ответа.
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 возвращаются в RequestCookieJar, который действует как словарь, но также предлагает более полный интерфейс, подходящий для использования в нескольких доменах или путях.
Объект сеанса
Объект сеанса позволяет сохранять определенные параметры в запросах.
- Сохраняет файлы 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, в котором у нас есть различные расширенные функции. Мы обсудили установку и создание запроса на получение и публикацию с содержимым ответа и другими концепциями в библиотеке запросов в Python. Модуль запросов Python — одна из многих необычных готовых функций языка программирования Python.
Есть вопросы? укажите их в разделе комментариев, мы свяжемся с вами.