gpt4 book ai didi

python - Tornado/Flask 无法正确响应 OPTIONS

转载 作者:可可西里 更新时间:2023-11-01 16:21:57 28 4
gpt4 key购买 nike

我有一个在 Tornado 网络服务器上运行的 Flask 应用程序。我希望能够从客户端调用 OPTIONS。我承认我不是 100% 这是最好的方法。我找到了 this ,并将其放入我的 flask 应用程序中。这适用于除 OPTIONS 之外的所有请求的开发服务器(仅限 Flask)。当我将应用程序放在 Tornado 上时,我将其添加到我的 Tornado 应用程序中:

class BaseHandler(tornado.web.RequestHandler):
def set_default_headers(self):
self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Credentials", "true")
self.set_header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS")
self.set_header("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept")

这将为除 OPTIONS 之外的所有请求返回以下 header :

Access-Control-Allow-Headers:CONTENT-TYPE, AUTHORIZATION, ACCEPT
Access-Control-Allow-Methods:HEAD, GET, PUT, POST, OPTIONS, DELETE
Access-Control-Allow-Origin:*
Access-Control-Max-Age:21600
Content-Length:3493
Content-Type:text/html; charset=utf-8
Server:TornadoServer/3.1

但是 OPTIONS 只返回:

Content-Type: text/html; charset=utf-8
Content-Length: 0
Allow: HEAD, GET, PUT, POST, OPTIONS, DELETE
Server: TornadoServer/3.1

将完整 header 返回到 OPTIONS 需要什么?

最佳答案

我最终取出了 BaseHandler 类并在装饰器中将 provide_automatic_options 设置为 False 并且成功了。

关于python - Tornado/Flask 无法正确响应 OPTIONS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615189/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com