POST-запрос с библиотекой `request` в Python, так что тело имеет требуемый формат - PullRequest
0 голосов
/ 30 января 2020

Я нуб в запросах http. Мне нужно выполнить запрос POST, тело которого должно иметь следующий формат: list[id1]=value1&list[id2]=value2&... с библиотекой request в Python.

. Я уже пробовал разные способы формирования данных, например, вот так:

import requests


data = {'list': {'1': '2', '3':'4'}}
r = requests.post(url=URL, data=data)

с результатом:

> r.request.body
list=1&list=3

Как мне получить list[1]=2&list[3]=4?

1 Ответ

0 голосов
/ 10 февраля 2020

То, что вы делаете здесь, это отправка данных в формате dict, так что это результат, который вы получаете для отправки этого в пост-запросе (dict и его ключи)

Попробуйте импортировать библиотеку json и отправить ее как json, например:

import requests
import json

data = json.dumps({'list': {'1': '2', '3':'4'}})
r = requests.post(url=URL, data=data)

результат:

r.request.body
'{"list": {"1": "2", "3": "4"}}'

После этого вы можете проанализировать json, отправленные на этот пост-вызов, и получить необходимые ключи и значения.

...