如何使用 Bottle 在 python 中获取由 nodeJS 服务器发送的请求数据

如何在python中获取和打印nodeJS发送的数据?


我在这个节点Js模块中使用ExpressJS


app.use("/py/sendomodel",  function (req, res, next) {

     var oData = {

        "Test":"FirstData"

     }

    var options = {

        method: 'POST',

        data : oData,

        url: 'https://xxx.cfapps.us10.hana.ondemand.com/mprs/omodel',

        headers: {

            'cache-control': 'no-cache',

            /*'Content-Type' :'application/json',*/

            Connection: 'keep-alive',

            'accept-encoding': 'gzip, deflate',

            Host: 'xxxx.cfapps.us10.hana.ondemand.com',

            'Cache-Control': 'no-cache',

            Accept: '*/*',

            'User-Agent': 'PostmanRuntime/7.15.0'

        }

    };

    return request(options, function (error, response,body,data) {

        if (error) throw new Error(error);

    });

});

现在我被困在这里,如何打印发送的数据?这是python模块


from bottle import route, run, post, request, response

@route('/mprs/omodel', method='POST')

def profile():

    #I tried all these without any success , I want to print the oData that I have sent via nodeJs

    #request.body.read().decode('utf8')

    temp = request.body.read()

    #temp = request.json

    #sol = request.forms

    print(temp)   

    #jsonData = json.load(request.body)

    #return jsonData

    return(temp)


MMTTMM
浏览 159回答 1
1回答

千巷猫影

您有两件独立的事情要看,首先是查询,其次是表单数据。为了以防万一,我将两者合并。在您的示例中,正文为空。由于没有实际的HTML。from bottle import route, run, post, request, responsedef merge_dicts(*args):    result = {}    for dictionary in args:        result.update(dictionary)    return result@post('/mprs/omodel')def profile():    payload = merge_dicts(dict(request.forms), dict(request.query.decode()))    print(payload)    print(payload['Test'])    return payload
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python