If you want to experiment some python code as CGI script to serve by a HTTP server, you can get started by these steps:
- Create a
No, really, it's that simple! Try these CGI scripts out.
#!/usr/bin/env python3 localvars_table = '<table>' for x in dir(): localvars_table += '<tr><td>%s</td></tr>' % x localvars_table += '</table>' print("Content-type: text/html") print("") print("""<html><body> <p>Hello World! Your custom CGI script is working. Here are your current Python local variables.</p> %s <p>NOTE: If you want to write useful CGI script, try the Python 'cgi' module. See cgitest.py script.</p> </body></html>""" % (localvars_table))
To test and run this, you simply invoke these couple commands:
bash> chmod a+x cgi-bin/hello.py bash> python3 -m http.server --cgi
You may now test it on your browser with http://localhost:8000/cgi-bin/hello.py. Hit
CTRL+C to stop the server.
If you want to do more with fancy CGI scripts, try the Python's
cgi module. Here is another example.
#!/usr/bin/env python3 import cgi cgi.test()
cgitest.py script and visit http://localhost:8000/cgi-bin/cgitest.py. You will see all the HTTP related data as expected when working with a CGI script. See https://docs.python.org/3/library/cgi.html for more details.