3

仅使用带有 Python 的 Flask 服务器,以下获取请求有效:

from flask import Flask, request
app = Flask(__name__)

class Result(Resource):
  def get(self):
    image_id = request.headers.get('image_id')

api.add_resource(Result, '/results')

if __name__ == '__main__':
  app.run(host='0.0.0.0', port=int(os.getenv('PORT', 5000)))

但是,使用 Waitress 时,以下内容不起作用(image_id 为 None):

from waitress import serve
from flask import Flask, request
app = Flask(__name__)

class Result(Resource):
  def get(self):
    image_id = request.headers.get('image_id')

api.add_resource(Result, '/results')

if __name__ == '__main__':
  serve(app, host="0.0.0.0", port=int(os.getenv('PORT', 5000)))

POST 和其他 GET 请求工作正常,只是 GET 带有不起作用的标头。有人有想法么?

4

1 回答 1

2

我遇到了同样的问题,在四处搜索后我在 GitHub 上发现了这个问题。显然这是一个安全功能,你不应该_在你的标题中使用。因此,您应该将标题重命名为image-id或其他没有_字符的名称才能正常工作。

于 2020-08-04T08:11:17.670 回答