我正在尝试在网络应用程序中使用 Twisted,但遇到了一个有趣的问题。我对 Twisted 很陌生,所以我不确定我是否在 Twisted 中看到了一个错误,或者我只是没有正确使用它。
从理论上讲,从示例中可以使用 File 资源对象来提供目录中的文件,以及提供目录列表。因此,假设我在代码片段之前的其他地方定义了变量(端口、reportsDir),我将执行以下操作:
rootResource = Resource()
rootResource.putChild("reports", File(reportsDir))
reactor.listenTCP(port, Site(rootResource))
reactor.run(installSignalHandlers=False)
现在,当我在主机上访问“/reports”时,我在浏览器中收到一条消息“请求未返回字节”,其中包含一堆显然是由扭曲产生的东西,但也包含一个 u' 的打印... ..' 字符串文字,实际上其中包含目录列表。所以 DirectoryLister 显然是在创建列表 HTML,但在 Twisted 中它并没有被认为是有效的。它似乎不喜欢 unicode 字符串;这实际上是由 Twisted 自己制作的。
我是否需要设置一些其他配置项以使其将 unicode 字符串转换为必要的字节对象(或其他),或其他方法?
非常感谢,
-D