如何关闭连接

时间:2016-06-28 15:07:51

标签: python http-headers bottle

我将一个简单的工具集从python 2.7迁移到3.5,其中一个工具是使用web.py的简单Web服务器。

不幸的是,web.py还没有用于3.5,所以我为了这个而切换到了bottle.py.

根据我创建的界面的规范,我需要通过添加以下行来关闭我可以在web.py中轻松完成的连接:

web.header('Connection', 'close')

但是使用瓶子我得到的错误是,当我执行以下操作时,不允许逐跳标头:

response.add_header('Connection', 'close')

如何将此标题添加到响应中?我已经阅读了瓶子文档,在线搜索并查看了瓶子代码。

1 个答案:

答案 0 :(得分:2)

我不确定如此接受我写的东西。

瓶子开发服务器是一个轻微修改的wsgiref服务器,它是一个经过修改的http.server服务器。它没有简单的方法或配置来发送“异常”标题。您可以将其子类化并编写一些自定义代码。我认为应该足以覆盖send_head方法(here)并在某处包含self.send_header("Connection", "close")

你可以使用任何你喜欢的wsgi服务器。它有相当一部分服务器的内置支持,但任何wsgi服务器都应该能够为应用程序提供服务。也许有一种更简单的方法可以让其他服务器发送自定义标头。

http.server也不适合制作,所以即使你可以让你的标题工作,你也可能想要改变它。如果它仅供内部使用,您可能会使用它。