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