When I run python -m SimpleHTTPServer 8000
or python -m CGIHTTPServer 8000
in my shell I am hosting the content of my current directory to the internet.
I would like to make the following cgi_script.py work correctly using the above command in the command line when I browse to 192.xxx.x.xx:8000/cgi_script.py
#!/usr/bin/env python print "Content-Type: text/html" print print """\ <html> <body> <h2>Hello World!</h2> </body> </html> """
But this script is displayed literally and not only the "Hello World!" part. Btw I changed the file permissions to 755 for cgi_script.py as well as the folder I am hosting it from.
A webserver in Python can be setup in two ways. Python supports a webserver out of the box. You can start a web server with a one liner. But you can also create a custom web server which has unique functionality.
Python docs claim, that "http. server is not recommended for production. It only implements basic security checks."
Downloading Your Files Simply browse to http://IP_ADDRESS:8000, where “IP_ADDRESS” is the IP address of the sending computer, and click on the desired files to download them. Alternatively, you can use Wget or cURL to fetch your files. You should already have one or both of them installed.
Try with python -m CGIHTTPServer 8000
.
Note that you have to move the script to a cgi-bin
or htbin
directory in order to be runnable.
SO doesn't allow me to comment so I'm adding this as a separate answer, addition to rodrigo's.
You can use another parameter cgi_directories
which defaults to ['/cgi-bin', '/htbin']
. More info here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With