tornado处理post请求的json数据
来源:互联网 发布:单反照片导入mac 编辑:程序博客网 时间:2024/06/06 03:48
原文链接: tornado处理post请求的json数据
方式一, urllib.parse.urlencode
代码
server
class MainHandler(RequestHandler): def post(self): param = self.get_argument('param') print(type(param)) print(param) param = eval(param) print(type(param)) print(param) self.write('OK')
client
import urllib.parseimport urllib.requesturl = "http://172.16.1.239:8888/"req_dict = {'param': 'param'}req_encode = urllib.parse.urlencode(req_dict)req_post = req_encode.encode('utf-8')print(req_post)headers = {}req = urllib.request.Request(url=url, headers=headers, data=req_post)res = urllib.request.urlopen(req)res = res.read().decode('utf-8')
输出
server
<class 'str'>{'k': 'v'}<class 'dict'>{'k': 'v'}
client
b'param=%7B%27k%27%3A+%27v%27%7D'OK
方式二, json
代码
server
class MainHandler(RequestHandler): def post(self): param = self.request.body.decode('utf-8') prarm = json.loads(param) print(param) self.write('Ok')
client
import jsonimport urllib.parseimport urllib.requesturl = "http://172.16.1.239:8888/"param = {'k': 'v'}req_dict = {'param': param}req_json = json.dumps(req_dict)req_post = req_json.encode('utf-8')print(req_post)headers = {'Content-Type': 'application/json'}req = urllib.request.Request(url=url, headers=headers, data=req_post)res = urllib.request.urlopen(req)res = res.read().decode('utf-8')print(res)
输出
server
{"param": {"k": "v"}}
client
b'{"param": {"k": "v"}}'OK
方式二client请求方式一的server, server会报如下错误
WARNING:tornado.general:400 POST /start_plus (172.16.1.239): Missing argument param
同样
方式一client请求方式二的server, server会报如下错误
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
注
tornado只实现了格式为
formdata
以及urlencode
两种方式的post数据的自动解析
1 0
- tornado处理post请求的json数据
- 如何处理post请求方JSON数据传递的问题
- httpclient的post请求并处理json格式响应数据
- tornado AsynHTTPClient.fetch() 发送POST json数据
- post请求获取json数据
- C# Post请求json数据
- Tornado get/post请求异步处理框架分析
- Tornado get/post请求异步处理框架分析
- 关于非JSON的POST请求的处理
- ajax请求中json数据的处理
- json格式数据的请求处理
- 利用fiddler模拟发送json数据的post请求
- JMeter带json数据的post请求测试
- 利用fiddler模拟发送json数据的post请求
- HttpURLConnection的post请求上传键值对和json数据
- java http 请求之post json数据
- java http 请求之post json数据
- android Json数据分装Post请求
- Unity 启动画面淡入淡出
- 可变参数列表解析
- Hessian矩阵与牛顿法
- 开源软件和商业软件版本的介绍:alpha、beta、rc、GA等等
- Servlet开发须知知识点
- tornado处理post请求的json数据
- PHP中单引号和双引号的区别
- 用Swift3实现从中心开始,逆时针打印 n*n 矩阵
- ACM 水题进制转换
- python——模块——__future__
- 【深度剖析HMM(附Python代码)】2.隐马尔科夫链HMM的EM训练过程
- C语言指针入门
- MATLAB 矩阵运算
- Linux打卡Day6-磁盘与分区