问题标签 [wsgiref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 3.0 `wsgiref` 服务器无法正常工作
我似乎无法让wsgiref
模块在 Python 3.0 下工作。但是,它对我来说在 2.5 下工作正常。即使我尝试文档中的示例,它也会失败。它失败得很厉害,即使我在上面有一个打印功能:“ from wsgiref.simple_server import make_server
”,由于某种原因它永远不会被打印出来。它在运行时不会出现任何错误,它只是在浏览器中显示一个空白页面并且不记录任何类型的请求。
有谁知道问题可能是什么?谢谢!
python - 在单元测试中使用 wsgiref.simple_server
我有一些像这样的功能:
我想用unittest测试它。
我做了这样的事情:
在 setUp() 我的测试停止,因为 s.handle_request() 等待请求。我怎样才能解决这个问题?在另一个线程中运行 s.handle_request()?或者也许还有另一种解决方案?
编辑:我想测试“func”功能,而不是“app_200_hello”
python - 如何使用 WSGIREF 捕获 POST
我正在尝试从一个简单的表单中捕获 POST 数据。
这是我第一次玩 WSGIREF,我似乎找不到正确的方法来做到这一点。
显然缺少正确信息来捕捉帖子的功能:
python - 当 WSGI 应用在使用 environ['wsgi.input'] 之前做出响应时,会发生 TCP 连接重置
对于我们的 Web 服务,我编写了一些逻辑来防止multipart/form-data
POST 大于 4mb。
它归结为以下内容(我已经剥离了所有 WebOb 的使用,只是将其简化为普通的 WSGI 代码):
显示的逻辑在单元测试时可以正常工作。但是,当我尝试将大于 4mb 的实际文件发送到此端点时,我在客户端收到了如下错误:
Error 101 (net::ERR_CONNECTION_RESET): Unknown error.
来自谷歌浏览器The connection to the server was reset while the page was loading.
来自火狐
使用 Python 内置wsgiref
HTTP 服务器时也会出现同样的错误。
事实:一旦我environ['wsgi.input'].read()
在响应 HTTP 400 之前添加,连接重置问题就消失了。当然,这不是一个好的解决方法。它只是显示了当您完全使用输入时会发生什么。
我仔细阅读了HTTP: The Definitive Guide,发现了一些有趣的指南,说明在实现 HTTP 服务器和客户端时仔细管理 TCP 连接的重要性。它继续讨论如何代替close
-ing 套接字,而是首选做shutdown
,以便客户端有机会做出反应并停止向服务器发送更多数据。
也许我错过了一些防止此类连接重置的关键实现细节。洞察任何人?
见要点。
python - 如何以 UTF-8 编码 WSGI 输出?
我想将 HTML 页面发送到编码为 UTF-8 的 Web 浏览器。但是以下示例失败:
这是回溯:
如果我删除编码并简单地返回 python 3 unicode 字符串,则 wsgiref 服务器似乎以浏览器在请求标头中指定的任何字符集进行编码。但是,我希望自己拥有这种控制权,因为我怀疑我是否可以期望所有 WSGI 服务器都这样做。我应该怎么做才能返回一个 UTF-8 编码的 HTML 页面?
谢谢!
python - 在谷歌应用引擎中,如何遍历表单字段(python、wsgiref.handlers)
使用 python 和 wsgiref.handlers,我可以使用 self.handler.request.get(var_name) 从表单中获取单个变量,但是如何遍历所有表单变量,无论它们来自 GET 还是 POST?是这样的吗?
对于 self.handler.request.fields 中的字段:
value = self.handler.request.get(field)
同样,它应该包括 POST 中包含的字段和查询字符串中的字段,就像在 GET 请求中一样。
先谢谢各位...
python - 在 Python 中同时启动简单的 Web 服务器并启动浏览器
我想在本地启动一个简单的 Web 服务器,然后启动一个带有刚刚提供的 url 的浏览器。这是我想写的东西
问题是,我找不到blocking
为 wsgiref 简单服务器设置选项的方法。默认情况下,它是阻塞的,因此只有在我停止浏览器后才会启动浏览器。如果我先启动浏览器,请求尚未处理。我更喜欢使用标准库中的 http 服务器,而不是外部服务器,如龙卷风。
python - 为什么使用 wsgiref simple_server?
我有一个简单的 web 应用程序要构建,我刚刚开始搞乱 mod_wsgi。在各种教程中,第一个 hello world 应用程序如下所示:
然后,稍后该应用程序包含一个使用 wsgiref 的 wsgi 服务器,一些变体:
该应用程序在没有服务器的情况下工作,那么服务器是做什么用的?
python - 为什么 wsgiref.simple_server 将请求的内容类型报告为“文本/纯文本”,而没有发送?
client.py 的输出是text/plain
虽然没有向服务器发送内容类型标头。
为什么?
python - AppEngine 混乱 - CGI,WSGI 兼容?
我很困惑。
如果 AppEngine 应该允许运行使用 WSGI 的应用程序..
.. 那么为什么不env
包含PEP 333列出的变量必须- 存在 - 导致wsgiref.util.request_uri()
引发 a KeyError
?
我基本上是在编写一些需要在 AppEngine 或典型的 Apache + modwsgi 设置中工作的库。我认为只需编写一个兼容的应用程序就足够了WSGI
,但似乎 AppEngine 本身......不是吗?