Отправка нескольких элементов данных POST с одним и тем же именем с помощью AppEngine

Я пытаюсь отправить данные POST на сервер, используя urlfetch в AppEngine. Некоторые из этих элементов POST-данных имеют одно и то же имя, но с разными значениями.

form_fields = {
   "data": "foo",
   "data": "bar"
}

form_data = urllib.urlencode(form_fields)
result = urlfetch.fetch(url="http://www.foo.com/", payload=form_data, method=urlfetch.POST, headers={'Content-Type': 'application/x-www-form-urlencoded'})

Однако в этом примере сервер, похоже, получает только один элемент с именем data со значением bar . Как я могу решить эту проблему?

6
задан nip3o 26 August 2010 в 16:41
поделиться

1 ответ

Измените словарь form_fields, чтобы поля с одинаковыми именами были преобразованы в списки, и используйте аргумент doseq для urllib.urlencode :

form_fields = {
   "data": ["foo","bar"]
}

form_data = urllib.urlencode(form_fields, doseq=True)

На данный момент form_data — это 'data=foo&data=bar', что, я думаю, вам нужно.

14
ответ дан 8 December 2019 в 15:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: