0

私は、apache2でmod_pythonを使用してPython CGIプログラミングを開始し、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に、CGIスクリプトへのGETフィールドの送信をブロックするパラメーターが見つかりませんでした。

4

1 に答える 1

0

cgi.FieldStorageは、GET経由ではなく、POSTされているマルチパートフォームに依存しています。フォームのメソッドを変更し、フォームタグにマルチパートがあることを確認します。

<form action="" method="post" multipart>
  <input type="file" name="file">
  <input type="submit" name="submit" value="Submit">
</form>

GETメソッドを使用する場合、cgi.FieldStorageはクエリ文字列を取得するだけです。これにより、送信しようとしているファイルの名前がわかります。

于 2012-11-13T02:26:23.037 に答える