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

最近在写一个微信公众号的小程序。微信公众平台推荐的服务端配置是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

-----------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值