Flask 请求头格式问题

2019-01-07 13:40:14 +08:00
 feihuxiongdi

使用如下代码获取请求头中的数据,拿不到值(客户端也使用access_token

access_token=request.header.get_all("access_token")

使用如下代码获取请求头中的数据,可以拿到值(客户端也使用access-token

access_token=request.header.get_all("access-token")

Servlet.net Core 中都可以使用下划线格式的请求头名称,为什么 Flask 不可以,是需要额外配置吗?

请问这是为什么?

4439 次点击
所在节点    Flask
7 条回复
loading
2019-01-07 13:59:15 +08:00
flask 是开源的,代码都有。底层是由 werkzeug 驱动。应该看这里。

https://github.com/pallets/werkzeug/blob/master/werkzeug/http.py
loading
2019-01-07 14:02:14 +08:00
下划线的是语法糖吧,没有很正常。
iyaozhen
2019-01-07 14:08:55 +08:00
你是不是前面还有个 nginx ?需要把 underscores_in_headers 打开
feihuxiongdi
2019-01-07 15:02:52 +08:00
@iyaozhen 有个 gunicorn
feihuxiongdi
2019-01-07 15:15:19 +08:00
这里有类似的问题,并且有了 ngnix 的解决方法

```
https://stackoverflow.com/questions/8011087/missing-custom-header-with-django-nginx-and-gunicorn#
```
gnozix
2019-01-07 16:48:09 +08:00
把 header 中的所有东西打印出来看看不就知道了。
feihuxiongdi
2019-01-10 18:25:02 +08:00
确实是 nginx 的问题,可怕的是我居然并不知道安装了 nginx

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/524601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX