【问题标题】:How Do I Get My Python Web Server To Open Files In It's Directory如何让我的 Python Web 服务器在其目录中打开文件
【发布时间】:2017-07-26 16:53:07
【问题描述】:

我正在尝试使用 python 构建一个 Web 服务器来托管一个网站。 但是我的代码中有一个缺陷,我似乎无法找到答案。 该缺陷是在 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()

这些链接正在连接到其他网站。 有任何想法吗? 提前谢谢

【问题讨论】:

  • python 2 中有一个巧妙的技巧:python -m SimpleHTTPServer,它将为文件夹中的所有文件提供服务。在 python 3 中:python3.6 -m http.server
  • 我推荐使用 Flask 或 Django。他们会为你处理很多这样的事情。
  • 谢谢,我会非常珍惜这个信息

标签: python html sockets ftp webserver


【解决方案1】:

有一个东西叫SimpleHTTPServer。正如拉斐尔·巴罗斯所说。然后,您还应该创建一个标题为:index.html 的文件。如果目录中没有 index.html 文件,则所有文件和 目录将被列出。

【讨论】:

  • 谢谢,但我想自己做
  • 嗯,我不太确定。这需要lot 的时间。还有一种叫做BaseHttpServer 的东西。有了这个,您可以做更多的事情(设置标题等)。正如我所说,使用SimpleHTTPServerBaseHttpServer 将为您解决问题。但是我很遗憾不知道自己是否可以这样做,因为您没有这些功能。
  • 函数是什么意思
猜你喜欢
  • 2012-11-17
  • 2016-05-10
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
相关资源
最近更新 更多