You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.9 KiB
79 lines
1.9 KiB
2 years ago
|
#!/usr/bin/env python
|
||
|
|
||
|
import cgi
|
||
|
import cgitb; cgitb.enable()
|
||
|
import os, sys
|
||
|
|
||
|
def ctype():
|
||
|
print """Content-Type: text/html
|
||
|
|
||
|
"""
|
||
|
|
||
|
def head():
|
||
|
print """
|
||
|
<html>
|
||
|
<head><title>Upload test.</title></head>
|
||
|
<style>
|
||
|
.value { background-color: #FFFFC0; }
|
||
|
.hilite { background-color: #FFC0C0; }
|
||
|
</style>
|
||
|
<body>
|
||
|
"""
|
||
|
|
||
|
def tail():
|
||
|
print """
|
||
|
</body>
|
||
|
</html>
|
||
|
"""
|
||
|
|
||
|
form = cgi.FieldStorage()
|
||
|
|
||
|
def print_env(k, v, hilite=False):
|
||
|
if hilite:
|
||
|
print '<div><tt><strong class="hilite">%s</strong> = <span class="value">%s</span></tt></div>' % (k, v)
|
||
|
else:
|
||
|
print '<div><tt><strong>%s</strong> = <span class="value">%s</span></tt></div>' % (k, v)
|
||
|
|
||
|
def print_file(k, v):
|
||
|
print '<div><tt><strong>%s (%s)</strong> (File: %s):</div><pre class="value">%s</pre>' % (k, v.filename, v.type, v.value)
|
||
|
|
||
|
def print_fs(k, v):
|
||
|
print '<div><tt><strong>%s</strong> (FieldStorage: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
|
||
|
|
||
|
def print_unk(k, v):
|
||
|
print '<div><tt><strong>%s</strong> (Unknown: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
|
||
|
|
||
|
def print_mfs(k, v):
|
||
|
print '<div><tt><strong>%s</strong> (MiniFieldStorage: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
|
||
|
|
||
|
def env():
|
||
|
print '<h1>Environment</h1>'
|
||
|
for k, v in os.environ.items():
|
||
|
print_env(k, v, hilite = (k == 'REQUEST_METHOD') or (k == 'CONTENT_TYPE'))
|
||
|
|
||
|
def act():
|
||
|
print '<h1>Form Fields</h1>'
|
||
|
for k in form:
|
||
|
v = form[k]
|
||
|
if v.file and v.filename:
|
||
|
print_file(k, v)
|
||
|
elif isinstance(v, cgi.FieldStorage):
|
||
|
print_fs(k, v)
|
||
|
elif isinstance(v, cgi.MiniFieldStorage):
|
||
|
print_mfs(k, v)
|
||
|
else:
|
||
|
print_unk(k, v)
|
||
|
|
||
|
if (__name__ == "__main__"):
|
||
|
ctype()
|
||
|
if not 'inline' in form or form['inline'].value != 'yes':
|
||
|
head()
|
||
|
act()
|
||
|
#env()
|
||
|
if not 'inline' in form or form['inline'].value != 'yes':
|
||
|
tail()
|
||
|
|
||
|
|
||
|
|
||
|
|