2013-10-14 7 views
0

Я пытался создать словарь с именами и значениями:Как данные POST multipart/form?

{ 
'name':'value', 
'name':'value', 
'name':'value', 
... 
} 

Пробовал дают POST линии от инспектора Chrome:

yield '------WebKitFormBoundary48hldbqBzWdSiBZ6' 
yield 'Content-Disposition: form-data; name="__EVENTTARGET"' 
yield 'ctl00$ctl00$cphContent$cphContent$lnkEnter' 
yield '------WebKitFormBoundary48hldbqBzWdSiBZ6' 
yield 'Content-Disposition: form-data; name="__EVENTARGUMENT"' 
yield '' 
... 

В этом случае, питон разбившихся следующим ошибка:

for k, vs in to_key_val_list(data) 
ValueError: too many values to unpack 

И я также попробовал регулярные POST формы данных:

name=value&name=value&name=value... 

Не могли бы вы рассказать мне, как создать многочастное тело и как его использовать с помощью запросов?
Нет файлов для отправки, только имя и значения.

ответ

0

Трудно точно узнать, что вы пытаетесь сделать без более конкретного примера.

Ваш первый пример может работать или не зависит от того, как вы его используете. Вы передаете его в параметр файлов?

Ваш второй никогда не будет работать. Существует специальный заголовок, который должен быть установлен для multipart/form-data, и он должен включать границу, в данном случае ------WebKitFormBoundary48hldbqBzWdSiBZ6 или некоторую строку там. Затем вам не следует передавать генератор в параметр files, а вместо этого передавать его в параметр данных, как только вы правильно настроили заголовок.

И наконец, если вы пытаетесь выполнить POST multipart/form-data, тогда POST с кодировкой URL-адреса не будет работать одинаково, если ваш сайт не будет очень гибким.

Смежные вопросы