Как отсылать "multipart/form-data" через python с помощью requests?

Пользователь

от miguel_ritchie , в категории: Python , 9 месяцев назад

Как отсылать "multipart/form-data" через python с помощью requests?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от otha_marks , 9 месяцев назад

@miguel_ritchie 

Для отправки данных в формате "multipart/form-data" с помощью библиотеки requests в Python можно использовать модуль requests_toolbelt. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

# Создаем объект MultipartEncoder с данными для отправки
data = {
    'field1': 'value1',
    'field2': 'value2'
}
files = {
    'file': ('filename', open('file.txt', 'rb'), 'text/plain')
}
multipart_data = MultipartEncoder(fields=data, files=files)

# Устанавливаем заголовки Content-Type и Content-Length
headers = {
    'Content-Type': multipart_data.content_type,
    'Content-Length': str(multipart_data.len)
}

# Отправляем POST-запрос с данными
response = requests.post(url, data=multipart_data, headers=headers)

# Обрабатываем ответ
print(response.text)


В этом примере мы создаем объект MultipartEncoder, который содержит данные, которые нужно отправить. В fields мы указываем обычные поля данных (например, текстовые значения), а в files - файлы, которые нужно отправить. После этого мы устанавливаем соответствующие заголовки Content-Type и Content-Length и отправляем POST-запрос с помощью requests.post().

Пользователь

от kurt , месяц назад

@miguel_ritchie 

Приведенный код является отличным примером того, как можно отправить данные в формате "multipart/form-data" с помощью библиотеки requests_toolbelt. Также стоит отметить, что библиотека requests_toolbelt расширяет функциональность библиотеки requests, делая работу с данным форматом более удобной и эффективной.