- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
运行 gevent 的 WSGIServer 时,我遇到了一些非常奇怪的行为。似乎每个通过的请求的方法都被错误地解释了..
如果我发送以下请求:
requests.get('http://localhost:5000')
requests.head('http://localhost:5000')
requests.delete('http://localhost:5000')
requests.put('http://localhost:5000')
requests.post('http://localhost:5000')
这是控制台中显示的内容:
127.0.0.1 - - [2012-01-22 14:55:36] "POST / HTTP/1.1" 405 183 "-" "python-requests/0.9.1"
127.0.0.1 - - [2012-01-22 14:55:41] "DELETE / HTTP/1.1" 405 185 "-" "python-requests/0.9.1"
127.0.0.1 - - [2012-01-22 14:55:46] "16 / HTTP/1.1" 405 181 "-" "python-requests/0.9.1"
127.0.0.1 - - [2012-01-22 14:55:50] "8 / HTTP/1.1" 405 180 "-" "python-requests/0.9.1"
127.0.0.1 - - [2012-01-22 14:56:13] "HEAD / HTTP/1.1" 200 0 "-" "python-requests/0.9.1"
为了完整起见,这是我正在运行的脚本:
from gevent.wsgi import WSGIServer
from flask import Flask
app = Flask(__name__)
app.debug = True
@app.route("/")
def hello():
return 'hello'
port = 5000
http_server = WSGIServer(('', port), app)
http_server.serve_forever()
可能发生了什么?
编辑:
我使用的 gevent 版本:0.13.0
最佳答案
Libevent 对 HTTP 方法的支持有限,支持哪些 HTTP 方法取决于 libevent 版本。为什么你有一个数字而不是一个方法显然是一个错误。您是否正在针对不同版本构建和链接 gevent?
您可以尝试切换到 gevent.pywsgi 吗?这将解决问题,但会牺牲一些性能。
gevent 1.0 版本还有许多重大改进。你可以在那里得到它:http://code.google.com/p/gevent/downloads/list
关于python - gevent.WSGIServer请求方法之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8962141/
我使用以下代码片段在 python 中运行 WSGIServer: from bottle import request, Bottle, abort app = Bottle() .. other
我有一个 Flask 应用程序在 gevent.WSGIServer 中运行良好。为了获得流畅的开发体验,我想启用热重载,例如如果 python 加载的 python 文件在磁盘上发生更改,我希望
背景 我正在尝试提供一个使用 gevent wsgiserver 的 flask REST API。它在 Werkzeug 中工作,但在 gevent wsgiserver 中没有响应。这是由 gev
我正在使用 Bottle & Gevent 来拥有一个 HTTP + WebSockets 服务器。如果我要在 Node 中实现这一点,我会使用 Nodemon 或类似的工具在开发时对代码的更改重新启
我正在尝试使用 CherryPy 的 WSGI 服务器来提供静态文件,例如 Using Flask with CherryPy to serve static files 。已接受答案的选项 2 看起
所以我正在创建一个服务器,并向它发出请求,所有这些都在同一个文件中。 这可以正常工作: import gevent import gevent.monkey gevent.monkey.patch_a
我是 cherrypy 的新手。我刚刚尝试了一个wsgiserver的示例程序。程序如下 from cherrypy import wsgiserver def my_crazy_app(enviro
运行 python 脚本时出现以下错误 Traceback (most recent call last): File "SampleWSTest.py", line 10, in
首先,这是我的脚本: #!/usr/bin/python import sys, os sys.path.append('/home/username/python') sys.path.append
我正在通过使用 cx_freeze 打包到一组可执行文件中来部署一个 cherrypy 应用程序。 我正在使用 python 3(通过 CentOS 中的 scl)。为了编译我运行的二进制文件: sc
我在运行 WSGIServer有地址 '0.0.0.0' from gevent import pywsgi from geventwebsocket.handler import W
通过以下两个最小示例应该可以重现该问题: 使用 app.run() 的最小示例 from flask import Flask app = Flask(__name__) @app.route('/'
专家。 我正在使用 ssl 制作一个 python 服务器。所以,我正在使用 gevent.pywsgi.WSGIServer。但是当我尝试传递 key 文件时,它不会传递给 _ssl.c,它是 py
我是一名优秀的程序员,十分优秀!