HTML форма POST для скрипта Python?

Кто-нибудь знает какие-либо хорошие ресурсы для информации о том, как POST-данные из формы HTML в сценарий Python?

 John05 окт. 2010 г., 18:56
Вот где я научился это делать.webpython.codepoint.net

Ответы на вопрос(2)

Вы также можете просто использовать curl в командной строке. Если вы просто хотите эмулировать пользователя, отправляющего форму на веб-сервер, вам нужно сделать что-то вроде:

curl -F "user=1" -F "fname=Larry" -F "lname=Luser" http://localhost:8080

Есть множество других вариантов. IIRC, '-F' использует 'multipart / form-data', а замена -F на '--data' будет использовать данные формы в формате urlencoded. Отлично подходит для быстрого теста.

Если вам нужно опубликовать файлы, вы можете использовать

curl -F"@mypic.jpg" http://localhost:8080 

И если вам нужно использовать Python, а не командную строку, я настоятельно рекомендую модуль 'poster'.http://atlee.ca/software/poster/ - это делает это действительно очень легко (я знаю, потому что я сделал это без этого модуля, и это головная боль).

 jonesy18 июл. 2019 г., 19:07
@ Дэвид - ОП на самом деле сделалне попросить решения Python - они спросили, как разместить данные в произвольном скрипте Python - не как обрабатывать опубликованные данные с использованием Python. Я счастлив назвать это недоразумением с моей стороны по вопросу ОП. Тем не менее, для справки в будущем, возможно, было бы неплохо не подразумевать, что другие постеры, которые пытаются помочь, так или иначе неспособны или не желают «сосредоточиться на главном».
 David25 февр. 2019 г., 10:26
В то время как использование curl - быстрый путь от консоли, OP попросил решение для python. Возможно, стоит сосредоточиться на главном (от HTML до python) с некоторыми примерами и, возможно, позже добавить альтернативу curl из консоли.

Для очень простойCGI сценарий, вы можете использоватьмодуль cgi, В следующей статье из документации по Python приведен очень простой пример того, как обрабатывать HTML-форму, отправленную черезPOST:

Веб-программирование на Python: CGI-скрипты

Пример из приведенной выше статьи:

#!/usr/bin/env python

import cgi
import cgitb; cgitb.enable()  # for troubleshooting

print "Content-type: text/html"
print

print """
<html>

<head><title>Sample CGI Script</title></head>

<body>

  <h3> Sample CGI Script </h3>
"""

form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")

print """

  <p>Previous message: %s</p>

  <p>form

  <form method="post" action="index.cgi">
    <p>message: <input type="text" name="message"/></p>
  </form>

</body>

</html>
""" % message
 Skizit05 окт. 2010 г., 12:49
Я пришел из HTML / JS / php фона и немного запутался. В каком формате приведен пример? Как бы я указал браузер на это?
 Daniel Vassallo05 окт. 2010 г., 12:55
@Meowmix: это точно так же, как php, но с использованием python. Он выполняется вашим веб-сервером и отображает HTML-страницу в простой форме. Когда форма отправляется обратно в сценарий, она просто возвращает отправленное сообщение.

Ваш ответ на вопрос