showfields.pyDownload: source file
CGI information may be passed through the URL as a query
string, an ampersand (&) delimited set of "key=value"
pairs. The query string starts after the question mark (?), as
shown in the following example.
https://johnloomis.org/python/showfields.py?animal=lion&fruit=apple&bird=robin
The query string encodes the control characters, such as the ampersand
and equal sign and special characters such as the space. The
cgi.FieldStorage() method unencodes these characters.
See Using the CGI Module for more information.
The following script uses the cgi module to parse the query string and generate a table of name/value pairs.
01: #!/usr/bin/python
02: import cgi, cgitb, os, sys
03: cgitb.enable(); # formats errors in HTML
04:
05: sys.stderr = sys.stdout
06: print "Content-type: text/html"
07: print
08: print """<html>
09: <head><title>Show fields from CGI query string</title></head>
10: <body>"""
11:
12: query = os.environ.get('QUERY_STRING')
13: if query: print "<p>QUERY_STRING:  <tt><font color=#FF00FF>", cgi.escape(query), "</font></tt>"
14:
15: print """<p><table border>
16: <tr><th>Name<th>Value"""
17:
18: form = cgi.FieldStorage()
19:
20: for field in form.keys():
21: print "<tr><td>%s<td>%s" % (field, form[field].value)
22:
23: print "</table>"
24: print "</body></html>"
The following link shows the output from the above script:
https://johnloomis.org/python/showfields.py?animal=lion&fruit=apple&bird=robin
You should get the following output:
QUERY_STRING:  animal=lion&fruit=apple&bird=robin
| Name | Value |
|---|---|
| animal | lion |
| fruit | apple |
| bird | robin |
Maintained by John Loomis, updated Sun Feb 10 22:59:20 2008