用5行Python代码写一个Web服务器
用 Python http.server 库中的 HTTPServer 和 CGIRequestHandler 类所生成的对象,就可以建立一个Web 服务器。
首先用文本编辑器建立一个Python源代码文件
#文件名:pyserver.py
import os from http.server import HTTPServer, CGIHTTPRequest # 确定创建服务器对象的目录是当前目录 os.chdir('.') #创建服务器对象,监听缺省80端口 server_object = HTTPServer(server_addess('', 80), RequestHandlerClass=CGIHTTPRequestHandler) # 启动服务器 server_object.serve_forever()
代码第三行是确定服务器创建的目录,本文设定是当前目录。第四行是利用HTTPServer 类创建服务器对象,其中需要两个参数,第一个是服务器访问的地址,空格是表示缺省的 本地地址 //http:localhost,并使用缺省端口80;第二个确定使用CGIRequestHandler类处理HTTP请求。如果你不知道CGI是什么,请看这里。
代码第五行是启动服务器。
然后运行。我的运行环境是MacOS,其它环境没有测试过。需要注意的是要使用 sudo 权限运行,否则可能会出现 Permission denied 错误。
sudo python pyserver.py Password:
输入密码回车后如果没有反应说明代码工作正常。然后打开浏览器,地址栏输入http://localhost,页面将显示本机当前目录下的内容。注意,输入地址时不要仅输入localhost,因为目前的浏览器的缺省协议名都是https。
此时,终端会显示对服务器访问的信息

为了免除每次要输入 sudo 的麻烦,可以再建立一个python 脚本文件
#文件名: startserver.py
import os os.sytem("sudo python pyserver.py")
这样,每次在服务器当前目录下输入
python startserver.py
即可。
若要关闭服务器,按Ctrl+C即可。
【注意】:这个服务器切不可用于生产环境,只适合作为个人测试使用。
浙公网安备 33010602011771号