如何在使用python的HTTPServer时设置DocumentRoot?

时间:2012-07-10 18:28:03

标签: python python-3.x httpserver

我有以下代码作为我的python服务器:

#!/usr/bin/python3
from http.server import HTTPServer, CGIHTTPRequestHandler

port = 8080
host_name = "localhost"
httpd = HTTPServer((host_name, port), CGIHTTPRequestHandler)
print("server started, to quit press <ctrl-c>")
httpd.serve_forever()

如何设置服务器为其提供页面的DocumentRoot。

2 个答案:

答案 0 :(得分:6)

内置的CGIHTTPRequestHandler类来自当前的工作目录,该目录通常是您调用Python的目录。

  

此类用于从当前目录及其下方提供CGI脚本的文件或输出。

您可以使用os.chdir()更改当前的工作目录。

答案 1 :(得分:0)

处理GET请求时,需要将其转换为相对于运行脚本的当前目录的路径。

查看http://docs.python.org/library/simplehttpserver.html#module-SimpleHTTPServer do_GET 部分。您应该能够根据自己的目的进行调整