Python - Пользовательские HTTP-запросы
Протокол передачи гипертекста (HTTP) - это протокол, используемый для обеспечения связи между клиентами и серверами. Он работает как протокол запроса-ответа между клиентом и сервером. Запрашивающее устройство называется клиентом, а устройство, отправляющее ответ, называется сервером.
Urllib - это традиционная библиотека Python, которая используется в программах Python для обработки HTTP-запросов. Но теперь есть urllib3, который делает больше, чем раньше. Мы импортируем библиотеку urllib3, чтобы увидеть, как python может использовать ее для выполнения HTTP-запроса и получения ответа. Мы можем настроить тип запроса, выбрав метод запроса.
Pip install urllib3
пример
В приведенном ниже примере мы используем объект PoolManager (), который заботится о деталях подключения http-запроса. Затем мы используем объект request (), чтобы сделать http-запрос с помощью метода POST. Наконец, мы также используем библиотеку json для печати полученных значений в формате json.
import urllib3
import json
http = urllib3.PoolManager()
r = http.request(
'POST',
'http://httpbin.org/post',
fields={'field': 'value'})
print json.loads(r.data.decode('utf-8'))['form']
Когда мы запускаем указанную выше программу, мы получаем следующий результат -
{field': value'}
URL-адрес с использованием запроса
Мы также можем передавать параметры запроса для создания пользовательских URL-адресов. В приведенном ниже примере метод запроса использует значения в строке запроса для завершения URL-адреса, который в дальнейшем может использоваться другой функцией в программе Python.
import requests
query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'}
req = requests.get('https://pixabay.com/en/photos/', params=query)
print(req.url)
Когда мы запускаем указанную выше программу, мы получаем следующий результат -
https://pixabay.com/en/photos/?q=river&min_width=800&min_height=600&order=popular