在python中从HTTP服务器发送JSON响应

时间:2015-06-13 18:42:30

标签: python http server send

我正在尝试将数据作为JSON对象从python HTTP服务器发送到客户端。 这是我用来获取客户端请求的do_POST函数:

def do_POST(self):
    if None != re.search('/compile/*', self.path):
        ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
        print "ctype = %s", ctype
        if ctype == 'application/json':
            length = int(self.headers.getheader('content-length'))
            data = json.loads(self.rfile.read(length))
            response = doEverything(data["userId"], data["files"])
            ##response = json.dump(response, self.wfile)                                                                                                                                                       
            response = json.dumps(response)
            self.send_response(0)
            self.end_headers()
            self.wfile.write(str(response))
            print 'everything ok'
        else:
            data = {}
            self.send_response(200)
            self.end_headers()
            print 'not application/json'
    else:
        self.send_response(403)
        self.send_header('Content-Type', 'application/json')
        self.end_headers()
        print 'not /compile/*'

    return

我必须做错事,因为客户永远不会得到任何回应。 (是的,输出打印“一切正常”)。 我用self.wfile.write(str(response))替换了self.wfile.write(response)来测试,两者都不起作用。

感谢您的帮助,请不要犹豫,询问您是否需要更多代码

0 个答案:

没有答案