Учебники

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)

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: