HTML表单POST到python脚本?

时间:2010-10-05 10:29:18

标签: python html

有没有人知道有关如何将数据从HTML表单发布到python脚本的信息的任何好资源?

2 个答案:

答案 0 :(得分:9)

对于非常基本的CGI脚本,您可以使用cgi module。查看Python文档中的以下文章,了解如何处理通过POST提交的HTML表单的一个非常基本的示例:

上述文章的例子:

#!/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

答案 1 :(得分:0)

您也可以在命令行中使用curl。如果您只是想模仿将表单发布到Web服务器的用户,您可以执行以下操作:

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

还有很多其他选择。 IIRC,' - F'使用'multipart / form-data',用'--data'替换-F将使用urlencoded表单数据。非常适合快速测试。

如果您需要发布文件,可以使用

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

如果你必须使用Python而不是命令行,我强烈推荐使用'poster'模块。 http://atlee.ca/software/poster/ - 这真的非常容易(我知道,'因为我没有这个模块就完成了它,这很令人头疼)。