Я пытаюсь отправить данные 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
. Как я могу решить эту проблему?
Измените словарь form_fields
, чтобы поля с одинаковыми именами были преобразованы в списки, и используйте аргумент doseq
для urllib.urlencode
:
form_fields = {
"data": ["foo","bar"]
}
form_data = urllib.urlencode(form_fields, doseq=True)
На данный момент form_data
— это 'data=foo&data=bar'
, что, я думаю, вам нужно.