web.py获取请求头中的数据

想获取headers中的数据,但没能找到明细的说明。
官方wiki地址:

https://webpy.org/cookbook/ctx.zh-cn

web.py中,web.ctx 还有一个方法是 values(),可以查看所有请求头中的数据

# 获取方式
print(web.ctx.values())

# 返回数据
dict_values(['200 OK', [], '', {'ACTUAL_SERVER_PROTOCOL': 'HTTP/1.1', 'PATH_INFO': '/api/hello', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '58553', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/api/hello', 'SCRIPT_NAME': '', 'SERVER_NAME': 'localhost', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'Cheroot/8.6.0 Server', 'wsgi.errors': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, 'wsgi.input': <cheroot.server.KnownLengthRFile object at 0x7f8d4da85940>, 'wsgi.input_terminated': False, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0), 'SERVER_PORT': '8889', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'zh-CN', 'HTTP_USER_AGENT': 'ApiPOST Runtime +https://www.apipost.cn', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_TOKEN': 'eyJhbGciOiJIUzUxMiJ9-YZBjSaCHvqSkgQkY9tIVLQvTgA9C1FkS8Eg', 'HTTP_HOST': '127.0.0.1:8889', 'CONTENT_TYPE': 'application/x-www-form-urlencoded'}, {'ACTUAL_SERVER_PROTOCOL': 'HTTP/1.1', 'PATH_INFO': '/api/hello', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '58553', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/api/hello', 'SCRIPT_NAME': '', 'SERVER_NAME': 'localhost', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'Cheroot/8.6.0 Server', 'wsgi.errors': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, 'wsgi.input': <cheroot.server.KnownLengthRFile object at 0x7f8d4da85940>, 'wsgi.input_terminated': False, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0), 'SERVER_PORT': '8889', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'zh-CN', 'HTTP_USER_AGENT': 'ApiPOST Runtime +https://www.apipost.cn', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_TOKEN': 'eyJhbGciOiJIUzUxMiJ9-YZBjSaCHvqSkgQkY9tIVLQvTgA9C1FkS8Eg', 'HTTP_HOST': '127.0.0.1:8889', 'CONTENT_TYPE': 'application/x-www-form-urlencoded'}, '127.0.0.1:8889', 'http', 'http://127.0.0.1:8889', '', 'http://127.0.0.1:8889', 'http://127.0.0.1:8889', '127.0.0.1', 'GET', '/api/hello', '', '/api/hello', [<web.application.application object at 0x7f8d487a2280>]])

然后根据自己想要的key获取value就可以了

        token = web.ctx.env.get('HTTP_TOKEN', '')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,904评论 18 139
  • Table of Contents WSGIwsgi服务器作用wsgirefhttp协议无状态,短连接,长连接co...
    四月天_da7e阅读 470评论 0 0
  • 1、谈谈对http协议的认识流程:1.域名解析域名解析检查顺序为:浏览器自身DNS缓存---》OS自身的DNS缓存...
    Zzmi阅读 755评论 0 0
  • Web.py 一、Templetor模板对象 (1)模板系统使用方式 在工程同级目录下创建templates文件夹...
    凛0_0阅读 700评论 0 0
  • 之前这个系列的文章一直在讲用Go语言怎么编写HTTP服务器来提供服务,如何给服务器配置路由来匹配请求到对应的处理程...
    KevinYan_a990阅读 518评论 0 1