如何将JSON发送到python脚本?

2024-06-17 10:58:33 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我使用这个函数从chrome扩展发送JSON。这是javascript发送数据的客户端代码。在

function callPython(){
    var url  = 'http://AWS_IPNUMBER/';
    var data = {'bob':'foo','paul':'dog'};
    $.ajax({
        url: url,
        type: 'POST',
        contentType:'application/json',
        data: JSON.stringify(data),
        dataType:'json',
        success: function(data){
            var jsonObj = $.parseJSON(data);
            alert(jsonObj.encPassword);
        },
        failure: function(errorMsg) {
            alert(errorMsg);
        }
    });
}

以下是Python的服务器代码:

^{pr2}$

问题是,尽管它正在侦听,datadata = ns.recv(8192)处是空的。则data = json.loads(data)不起作用,因为data为空。为什么会这样?我想这可能是我在AWS上的安全组有问题,但是如果我转到http://AWS_IPNUMBER/,我会在运行python脚本时从浏览器中获取头。在


Tags: 函数代码awsjsonhttpurldatavar
2条回答

$.ajax函数将放入的数据是一个完整的HTTP请求,json.loads()无法理解。在本例中,您需要实例化一个HTTP服务器,该服务器将处理HTTP请求,然后使用json.loads()处理HTTP负载。在

使用tornado或{a2}这样的框架可能会更幸运。在

我这么说是因为在你的代码中,你试图用json.loads. HTTP不是那么简单。在到达主体之前,您需要处理请求和报头,这可以分散到多个包中。既然可以从一个成熟的项目中设置一个符合标准的服务器,那为什么还要重新设计呢。在

相关问题 更多 >