我开始使用python CGI编程,在apache2中使用mod_python,并尝试将HTTP请求中的GET字段检索到一个简单的.py页面。
代码:
#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
print 'Content-type: text/html\n'
print '''
<html>
<body>
'''
form = cgi.FieldStorage()
l = len(form.keys())
print "<p>%s field(s) set.</p>" % l
print '''
</body>
</html>
'''
页面打印“0字段集”。这可能有什么问题?到目前为止,在我搜索答案时,我没有在apache2的mod_python中找到一个阻止GET字段传输到CGI脚本的参数。
答案 0 :(得分:0)
cgi.FieldStorage依赖于POST部分的多部分表单,而不是通过GET发送。更改表单上的方法,并确保在表单标记中包含多部分:
<form action="" method="post" multipart>
<input type="file" name="file">
<input type="submit" name="submit" value="Submit">
</form>
当您使用GET方法时,cgi.FieldStorage只会抓取查询字符串,这最多会为您提供您尝试提交的文件的名称。