Suivez le tutoriel sur Internet et utilisez Python pour écrire des CGI afin de télécharger des fichiers, mais 500 continue d'apparaître.
fichier html :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form enctype="multipart/form-data" action="save_file.py" method="post">
<p>
选中文件: <input type="file" name="filename" />
</p>
<p>
<input type="submit" value="上传"/>
</p>
</form>
</body>
</html>
Fichier .py
#!/usr/bin/python
# -*- coding:utf-8 -*-
import cgi, os
import cgitb; cgitb.enable()
# 获取文件名
f = cgi.FiledStorage().getvalue('filename')
# 检测文件是否上传
if f is not None:
# 设置文件路径
fn = os.path.basename(f.filename.replace("","/"))
open('/tmp/' + fn,'wb').write(f.file.read())
message = '文件 "' + fn + '" 上传成功'
else:
message = "文件没有上传"
print """
Content-Type:text/html
<html>
<head>
<meta charset="utf-8">
<title>文件上传</title>
</head>
<body>
<p> %s </p>
</body>
</html>
""" % (message,)
Message d'erreur :
[Thu May 11 10:24:46.697197 2017] [http:error] [pid 8254] [client 127.0.0.1:58072] AH02429: Response header name '<!--' contains invalid characters, aborting request, referer: http://studycgi/file/file.html
127.0.0.1 - - [11/May/2017:10:24:41 +0800] "POST /file/save_file.py HTTP/1.1" 500 4063
Vous ne trouvez pas que l'URL dans votre message d'erreur semble bizarre ? Ouvrez-la dans votre navigateur et jetez-y un œil.
Ça ne devrait pas être Studycgi.com
Le message d'erreur n'est-il pas relativement clair : le nom de l'en-tête de réponse '<!--' contient des caractères non valides