如何让我的Python Web服务器打开它的目录中的文件
我正在尝试构建一个使用python来托管网站的Web服务器。 但我的代码中有一个缺陷,我似乎无法找到答案。 该缺陷是打开Web服务器脚本的同一目录中的文件。 下面是代码:如何让我的Python Web服务器打开它的目录中的文件
import socket
host, port = '', 80
website = '''
<a href='README.txt'>Read me file</a>
'''
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print('SERVER STARTED ON PORT {}'.format(port))
s.listen(1)
while True:
clientconnection, clientaddress = s.accept()
r = clientconnection.recv(1024)
print(r)
response = """
HTTPS/1.1 200 OK
{}
""".format(website)
clientconnection.sendall(bytes(response.encode()))
clientconnection.close()
的链接工作到其他网站。 任何想法? Thx提前
有一种叫SimpleHTTPServer
。正如拉斐尔巴罗斯所说。您还应该创建一个标题为:index.html
的文件。如果目录中没有index.html文件,则会列出所有文件和 目录。
谢谢,但我想自己做 – ariel2012
嗯,我不太确定。这需要很多时间。还有一些叫做BaseHttpServer的东西。有了这个,你可以做更多的事情(设置标题等)。正如我所说的,使用'SimpleHTTPServer'或'BaseHttpServer'会为你解决问题。但我很遗憾不知道自己做这件事是否可能,因为你没有这些功能。 – SunleafStudios
你是什么意思功能 – ariel2012
python 2中有这样一个巧妙的技巧:'python -m SimpleHTTPServer',它将提供文件夹中的所有文件。在python 3中:'python3.6 -m http.server' –
我建议使用Flask或Django。他们会为你处理很多这种东西。 – dashiell
谢谢,我会珍惜这些信息太多 – ariel2012