最近有个项目要通过webserver的方式接收客户端通过POST传过来的url参数和json数据,看了web.py的例子,好像很容易的样子。

先说下环境Win10 pro版,python 3.7.4,web.py 0.4.0-dev1;测试代码如下:

import web
import jsonurls = ('/(.*)', 'hello'
)app = web.application(urls, globals())class hello:def POST(self, name):data1 = web.data()print('post data1: ', data1)json_data = json.loads(data1)print(json_data['age'])i = web.input()    #这行会报write的错print('get: ', i)if not name:name = 'World'return 'Hello, ' + name + '!'if __name__ == "__main__":app.run()print("hello world")

代码根据例子改的,Browser端的post发送如下:主要发送的ContentType: application/json

测试后报错,如下:

跟踪到cgi.py文件中,发现问题出在self.file.write(data)这行。
类型不对,改成 self.file.write(str(data,encoding=self.encoding)) 就可以了。

(这么改肯定是有风险了,不过,考虑到cgi原生态就不支持ContentType: application/json,也没别的办法了)

web.py中通过POST接收Json数据解析的bug相关推荐

  1. SpringMVC接收json数据转对象中的一些问题(415错误的解决)

    SpringMVC接收json数据转对象中的一些问题(415错误的解决) 参考文章: (1)SpringMVC接收json数据转对象中的一些问题(415错误的解决) (2)https://www.cn ...

  2. lombok 的bug?lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败

    大家好,我是烤鸭:     lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败.     环境版本:         spring 5.x ...

  3. Web 开发人员必备的随机 JSON 数据生成工具

    在 Web 开发中,经常会需要一些测试数据来测试接口或者功能时候正确.JSON Generator 就是这样一款生成随机 JSON 数据的在线工具,Web 开发人员必备,记得收藏和分享啊. 您可能感兴 ...

  4. controller接收json数据_答疑 | 前后端分离,如何接收json数据?

    1.颜老师,在前后端分离的项目中,后端如何接收前端发来的json数据?我记得是@RequestBody,但有时候会报错. 答:当使用SpringMVC接收json数据时,需要区分json的数据格式,具 ...

  5. JAVA 接收JSON数据,并进行转换处理

    在日常业务中经常需要与外部系统交互处理数据,在此文章中记录一下我在项目中处理json数据流程. 第一种以实体类处理 以文档中的数据结构构建实体类,使字段与需要接收转换的JSON字段变量名尽量保持一致, ...

  6. Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类

    场景 需要在Winform的页面初始化之后,调用http的接口,并将返回的json数据 解析,赋值到窗体中的TextBox组件中. 使用接口测试工具测试的接口返回数据如下 注: 博客: 霸道流氓气质的 ...

  7. spark中读取json_【spark】文件读写和JSON数据解析

    1.读文件 通过 sc.textFile("file://")方法来读取文件到rdd中. val lines = sc.textFile("file://")/ ...

  8. PHP接收json数据

    第一种方式: $data = json_decode(file_get_contents('php://input'), true); 第二种方式: $data = $GLOBALS['HTTP_RA ...

  9. web.py中实现类似Django中的ORM的查询效果

    Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model):quest ...

最新文章

  1. android 开启一个定时线程_ANDROID开发中定时器的3种方法
  2. cv::cuda::split 使用
  3. LeetCode Intersection of Two Arrays
  4. 通过设计绿色数据中心寻求循环经济
  5. ADO.NET Entity Framework -Code Fisrt 开篇(一)
  6. js 将图片置灰_JS 上传一张图片让其部分变灰色
  7. linux 环境 RocketMQ 4.8.0 安装、部署控制台
  8. Java基础篇:构造函数
  9. 南抖音北快手,智障界的两泰斗
  10. java 接口类型_Java-从接口类型而不是类声明
  11. ibm澳州业务_通过集体学习使业务用户能够使用IBM Blueworks Live和IBM Industry Models进行业务建模
  12. 这三款曾红极一时的软件,现已风光不再,而遭嫌弃的它成了香饽饽
  13. 超图神经网络 Hypergraph Neural Networks
  14. 软件测试类型-文档测试
  15. Android之adb安装apk
  16. ubuntu搭建STM32开发环境
  17. 单片机系统的电磁干扰要如何消除?
  18. 经典贪吃蛇小游戏html代码,js实现经典贪吃蛇小游戏
  19. 合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法
  20. 大专毕业的我,用了6年拿到年薪50W

热门文章

  1. Docker容器学习笔记(看了狂神视频)
  2. 苹果iPhone升级到10.3.3后,4G数据网络经常性断网无法连接???
  3. A Mutex must not be copied after first use. 是什么(nocopy)
  4. 法拉科机器人接头_【发那科】图解FANUC机器人I/O信号板
  5. html仿微信语音功能案例,html5聊天案例|趣聊h5|仿微信界面聊天|红包|语音聊天|地图...
  6. 机器学习(一) 贝叶斯法则与概念学习
  7. cas112-27-6|三乙二醇/二缩三乙二醇/三甘醇|三乙二醇 透明液体
  8. uniapp设置页面背景颜色
  9. 语法糖(Syntactic sugar)
  10. 华为路由器接口如何区分_华为路由的线路输出的两种不同方法简介