Python中的CGI编程 config配置(windows、Apache) 以及后期的编写
第一步:在apache官网中下载apache server
1.进入官网点击 Dowlowd!
http://httpd.apache.org/download.cgi
3.选择版本号进行下载:
第二步:下载好了之后的文件进入Appache24/config 目录中对httpd.cong进行修改 一共五处:
我将服务器下载的位置是:C:的根目录下
1.服务器在本地的位置:
在文件中找到:#Define SRVROOT "/Apache24"
改为:Define SRVROOT "C://Apache24"
【 2.修改监听端口:(如果有软件占用了80端口就需要进行修改) 这一步可操作可不操作】
修改位置有两处:Listen 8088
ServerName localhost:8088
3.修改Python的工作路径:
#ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/" 如果是将Python工作文件直接放在CGI的cgi-bin目录下就不用进行修改。如果单独的放在其他的路径下就需要进行修改:
这里我是将我的CGI编写的.py文件放在 D:\ApacheSever\www\cgi-bin
修改为:ScriptAlias /cgi-bin/ "D://ApacheSever/www/cgi-bin/"
最后修改这两处:
<Directory "D://ApacheSever/www/cgi-bin">标红的部分是.py文件所存放的位置
AllowOverride None
Options None
AddHandler cgi-script .py .cgi 需要添加这一句
Require all granted
</Directory>
这里都操作完了之后:就是用cmd命令以管理员身份运行,
命令行下进入到apache下面的bin目录,输入
httpd -k install
把apache安装成windows后台服务。
安装好了之后就进入Bin目录下启动ApacheMonitor.exe启动服务器。
绿灯亮起来的时候就可以使用了 这时我们需要编写一个helloWorld了。
#!C:\Users\Xiaolei Li\AppData\Local\Programs\Python\Python36\python.exe 【这一句必须要,这时表明在哪里用什么解释器来执行】
import codecs, sys sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer) 【加入这一句 防止http在读取】print("Content-type: text/html;\n\n") 【这时申明header 告诉浏览器这时什么类型的文件】print()
print("""
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>this is my first page</title> </head> <body> <h1 onclick="to()">Hello World!乱码不??</h1> </body> <script type="text/javascript"> function to(){ document.getElementsByTagName("h1")[0].innerHTML="哈哈,你点击了"; } </script> </html> """)【这个是html代码】
然后访问:http://localhost:8088/cgi-bin/hello.py 就可以看见了