HTML表单POST到Python脚本?
有没有人知道有什么好的资源,可以学习如何把HTML表单中的数据发送到一个Python脚本里?
2 个回答
0
你也可以直接在命令行使用curl。如果你只是想模拟一个用户向网站提交表单,可以这样做:
curl -F "user=1" -F "fname=Larry" -F "lname=Luser" http://localhost:8080
还有很多其他的选项。如果我没记错的话,'-F'是用来发送'multipart/form-data'格式的,而把-F换成'--data'则会使用urlencoded表单数据。这对于快速测试非常好。
如果你需要上传文件,可以使用
curl -F"@mypic.jpg" http://localhost:8080
如果你必须用Python来做这件事,而不是命令行,我强烈推荐使用'poster'模块。http://atlee.ca/software/poster/ -- 这个模块让事情变得非常简单(我知道,因为我之前没有用这个模块做过,真是让人头疼)。
9
对于一个非常基础的CGI脚本,你可以使用cgi模块。可以查看下面这篇来自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