您的位置:首页 > Web前端

web.py 返回 "Transfer-Encoding: chunked" 的处理

2016-12-12 11:57 756 查看
最近在写一个微信公众号的小程序。微信公众平台推荐的服务端配置是python + web.py。调试时发现web.py(实际上是wsgiserver)响应我的POST请求时,HTTP Header里面总是"Transfer-Encoding: chunked",而不返回“Content-Length”,而我的设备端程序处理是依赖于“Content-Length”。重写设备端程序太麻烦,怎样才能让它不返回"Transfer-Encoding: chunked"。查了一些文章,说是将"HTTP/1.1"改成“HTTP/1.0”。试了一下,确实不返回"Transfer-Encoding:
chunked",但是Header中间仍然没有“Content-Length”,怎样才能让它返回“Content-Length”呢?找了一些例子,发现很简单,在POST返回前,设置web.header就可以了。代码如下:

-----------

            web.header('Content-Type', 'application/octet-stream')

            web.header('Content-Length', len(retMsg))

            return retMsg

-----------

测试后,一切OK。返回的HTTP Header如下,

-----------

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 58
Date: Mon, 12 Dec 2016 02:59:23 GMT
Server: localhost

-----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web.py HTTP chunked
相关文章推荐