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
-----------
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
-----------
相关文章推荐
- http返回头中content-length与Transfer-Encoding: chunked的问题释疑
- Android学习之实现WebView中input="file"选择文件,处理选择图片无法返回类型问题
- [转]http返回头中content-length与Transfer-Encoding: chunked的问题释疑
- NSString asscii格式(2进制) 转 utf8格式——解决iOS自己处理http socket数据,遇到Transfer-Encoding: chunked时
- Transfer-Encoding:chunked 返回数据过长导致中文乱码
- http返回头中content-length与Transfer-Encoding: chunked的问题释疑
- http返回头中content-length与Transfer-Encoding: chunked的问题释疑
- 解HTTP协议中的"Transfer-Encoding: chunked"
- android 访问web 返回xml 的注意事项;<?xml version="1.0" encoding="UTF-8"?>前面不能有空格 且 contentType="text/xml;
- PHP header函数设置http报文头示例详解以及解决http返回头中content-length与Transfer-Encoding: chunked的问题
- Transfer-Encoding:chunked 返回数据过长导致中文乱码
- HTTP协议中的"Transfer-Encoding: chunked"
- Transfer-Encoding:chunked 返回数据过长导致中文乱码
- http返回头中content-length与Transfer-Encoding: chunked的问题
- 理解HTTP协议中的"Transfer-Encoding: chunked"
- NSString asscii格式(2进制) 转 utf8格式——解决iOS自己处理http socket数据,遇到Transfer-Encoding: chunked时
- 理解HTTP协议中的"Transfer-Encoding: chunked"
- 理解HTTP协议中的"Transfer-Encoding: chunked"
- C# 利用HttpWebRequest模拟登陆获取数据设置Accept-Encoding为gzip,deflate后返回的网页是乱码处理
- http返回头中content-length与Transfer-Encoding: chunked的问题释疑