有关 tornado中requesthandler收到的json数据解析出错,请问如何解析post请求中的json格式数据 问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

有关 tornado中requesthandler收到的json数据解析出错,请问如何解析post请求中的json格式数据 问题

2016-03-05 09:35:20 5113 1

写了一个简单的tornado程序,目的接受脚本post的json数据,解析并response,返回json数据。
client脚本如下:

#  -*- coding:utf-8 -*-
import urllib
import urllib2
import json

url='http://127.0.0.1:8888'
values ={'user':'a','passwd':'b'}
jdata = json.dumps(values)
req = urllib2.Request(url)
req.add_data(jdata)
print req.headers
response = urllib2.urlopen(req)

tornado程序如下:

# -*- coding:utf-8 -*-
import tornado.ioloop
import tornado.web
import tornado.httpserver
from tornado.options import define, options
import json

define("port",default=8888,help='run a test')
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        info={'user':'leno'}
        jinfo=json.dumps(info)
        self.write(jinfo)

    def post(self,*args,**kwargs):
        print 'post message'
        print self.request.remote_ip
        print self.request.body_arguments
        user=self.get_body_argument('user')
        pw=self.get_body_argument('passwd')
        print user
        jdata=json.loads(user)
        print jdata
        data=json.loads(jdata)

    def set_default_headers(self):
        self.set_header('Content-type','application/json;charset=utf-8')

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

get_body_argument处出错:`Missing argument user,
print self.request.body_arguments则显示{'{"passwd": "b", "user": "a"}': ['']}`
在client处却正常,请问如何解决?

取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 18:52:56

    如果你POST 的时json数据,那么解析 请求的body即可

    try:
        data = json.loads(self.request.body)
    except Except, e:
        pass
    0 0
相关问答

5

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 129611浏览量 回答数 5

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 96089浏览量 回答数 28

3

回答

Logstash采集文件名称以及自定义格式的日志文件采集

Snorlax 2019-06-18 11:51:28 115839浏览量 回答数 3

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148604浏览量 回答数 22

41

回答

OSS FTP工具发布啦

oss-dev 2015-12-23 16:58:56 66886浏览量 回答数 41

1

回答

出现这个问题求解决This XML file does not appear to have any

淘合肥 2017-04-08 21:07:00 99959浏览量 回答数 1

43

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 143016浏览量 回答数 43

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 309491浏览量 回答数 251

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 483693浏览量 回答数 24

30

回答

基础语言百问-Python

薯条酱 2017-05-17 18:01:13 66216浏览量 回答数 30
+关注
2
文章
9426
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载